spring mvc注入service报错;
部分代码如下:报错:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwi...
部分代码如下:
报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private myforum.service.UserTest myforum.controller.UserController.userTest; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [myforum.service.UserTest] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {org.springframework.beans.factory.annotation.Autowired(required=true)}
配置如下:
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml,classpath:spring-hibernate.xml</param-value>
</context-param>
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
spring.xml
<!-- 自动扫描dao和service包(自动注入) -->
<context:component-scan base-package="myforum.dao,myforum.service" />
<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:config.properties" />
spring-mvc.xml
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="myforum.controller" />
需要的都提供了 应该没错,就是注入错误。求牛人解答
问题搞定了,谢谢大家。
还是不够火候,知道问题所在,却就是没发现这么个漏掉的 展开
报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private myforum.service.UserTest myforum.controller.UserController.userTest; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [myforum.service.UserTest] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {org.springframework.beans.factory.annotation.Autowired(required=true)}
配置如下:
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml,classpath:spring-hibernate.xml</param-value>
</context-param>
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
spring.xml
<!-- 自动扫描dao和service包(自动注入) -->
<context:component-scan base-package="myforum.dao,myforum.service" />
<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:config.properties" />
spring-mvc.xml
<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="myforum.controller" />
需要的都提供了 应该没错,就是注入错误。求牛人解答
问题搞定了,谢谢大家。
还是不够火候,知道问题所在,却就是没发现这么个漏掉的 展开
4个回答
展开全部
你貌似没有引入'userController' 这个类的包。。所以spring 不认识它。所以没发注入。
<context:component-scan base-package="myforum.dao,myforum.service" /> 这样的写法。我没用过。我都是把2个包分开写。不知道你的这个'userController' 是不是在 ,myforum.service包下
<context:component-scan base-package="myforum.dao,myforum.service" /> 这样的写法。我没用过。我都是把2个包分开写。不知道你的这个'userController' 是不是在 ,myforum.service包下
追问
搞定了,问题不是这个,这两个配置都没问题。
和我想的一样.
web.xml配置问题,导致没加载spring.xml,spring-mvc.xml加载时发现service没被加载,注入报错
追答
问题解决了。就好了
展开全部
使用@Resource或者@Autowired吧,这个才表示需要自动注入的
@Service是放在你的Service类上面的(和@Controller放置的地方一样),表示这个类是Service类
@Service是放在你的Service类上面的(和@Controller放置的地方一样),表示这个类是Service类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
么有找到要注入的bean
你的配置有问题吧
<context:component-scan base-package="myforum.dao,myforum.service" />
有这样的写法吗?
不想扫描某个包使用 表达式过滤掉就可以了。
spring 中的自动扫描中加入
<context:component-scan base-package="myforum" >
<context:exclude-filter type="regex" expression="myforum.controller.*" />
</context:component-scan>
排除掉就可以了吧。你试试
提供的都是半截代码,实在是没法判断
你的配置有问题吧
<context:component-scan base-package="myforum.dao,myforum.service" />
有这样的写法吗?
不想扫描某个包使用 表达式过滤掉就可以了。
spring 中的自动扫描中加入
<context:component-scan base-package="myforum" >
<context:exclude-filter type="regex" expression="myforum.controller.*" />
</context:component-scan>
排除掉就可以了吧。你试试
提供的都是半截代码,实在是没法判断
追问
控制器这段已经过了.
可能的是
spring.xml
在spring-mvc.xml扫描控制器时还没加载,你觉得可能不
追答
你的配置文件是什么关于什么的?spring mvc的还是什么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询