项目中spring容器加载的问题

今天做一个项目采用的是传统架构,没有采用分布式,部署时出现了异常,信息是:

org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type found for dependency

 

error creating bean with name 'xxx': cannot resolve refere 'xxx'

 

expected at least 1 bean which qualifies as autowire candidate for this dependency

 

Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

 

无法创建ItemService,因为找不到

 

首先检查ItemService的实现类上是否加了@Service注解,发现加了

 

@Service
public class ItemServiceImpl implements ItemService {

 

 

然后检查spring的配置文件是否有注解扫描器,发现有

 

 <!--注解扫描器-->
    <context:component-scan base-package="com.rui.service"/>

 

 

最后检查web.xml是否加载了spring容器,发现没有,于是添加代码

  <!-- 加载spring容器 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:com.rui/spring/applicationContext-*.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

  

错误原因找到了,在web.xml中仅配置了springmvc的前端控制器,没有加载spring容器。

 

转载于:https://www.cnblogs.com/a154627/p/9991370.html

Spring Boot项目Spring容器的配置文件位置可以有多个,取决于您的项目结构和个人偏好。以下是Spring Boot项目Spring容器的配置文件位置的几个常见选项: 1. application.properties或application.yml 这是Spring Boot项目最常见的配置文件位置之一。可以在src/main/resources目录下创建一个名为application.properties或application.yml的文件,并在其定义应用程序的配置信息和Spring Bean。 2. application-{profile}.properties或application-{profile}.yml 如果您在application.properties或application.yml定义了多个配置文件,则可以使用Spring Boot的多个配置文件选项来将它们分开。例如,可以创建一个名为application-dev.properties或application-prod.yml的文件,分别为开发和生产环境定义不同的配置。 3. @Configuration注解 在某些情况下,可能需要通过编写@Configuration注解来手动配置Spring Bean。在这种情况下,可以将@Configuration类放在任何位置,并使用@ComponentScan或@SpringBootConfiguration注解来将其纳入Spring容器管理。 4. @Import注解 如果您的应用程序有多个@Configuration类,可以使用@Import注解将它们组合在一起。在这种情况下,可以在任何@Configuration类使用@Import注解来导入其他@Configuration类,从而将它们加载Spring容器。 以上是Spring Boot项目Spring容器的配置文件位置的几个常见选项,您可以根据自己的需求来选择适合自己的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值