首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring容器里为什么没有我需要的Bean?

Spring容器里为什么没有我需要的Bean?...,看着小菜在沸点评论区不停的滑动,似乎在寻找着什么大瓜 此时的小菜似乎察觉到气氛不太对劲,身后似乎有人,于是飞快的按下 Windows + 1 弹出Idea的开发界面 此时,项目经理开口道:小菜啊,这里有个紧急需求...没过多久,小菜就把需求都搞定了,于是启动服务开始测试 小菜打开测试工具就开始测试接口,但是怎么测试都是404,一开始小菜还以为url写错了,但是检测后发现并没有写错 经过小菜漫长的排查,终于发现了问题:...,并把组件加入到容器中,由于没有配置**basePackages**字段,于是只会扫描当前包下的组件** 当前包也就是com.caicaijava.springbooteasyframeworks 于是...controller包与其同级时无法扫描其中的组件,因此导致容器中找不到对应的Bean 如果需要扫描其他包,或者需要依赖公共项目common下的包时,可以使用配置basePackages,如果已经配置*

11121

不畏浮云遮望眼:望断`NoSuchBeanDefinitionException`

试图装配一个在Spring上下文中没有定义的 Bean时,自动装配会失败并抛出这个异常。...我们将找出导致这个异常的可能原因并给出可用的解决方案。 当然,异常总是在你最不希望看到的时候发生;Spring异常及解决方案的完整列表可以在这里查看。...这个新异常在Spring 3.2.1时就已经引入的,它的引入就是为了区分在Spring上下文中没有找到 Bean定义和找到多个定义。...5.Cause: No Bean Named […] is defined 当通过名字从Spring上下文中请求一个没有定义的 Bean时,也可能抛出NoSuchBeanDefinitionException...“someBeanName”在Spring上下文中是没有定义的——这将导致抛出下面的异常: Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException

63420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring的注解@Qualifier小结

    com.test.service.EmployeeService com.test.controller.EmployeeInfoControl.employeeService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException...: No unique bean of type [com.test.service.EmployeeService] is defined: expected single matching bean...but found 2: [service1, service2] 很明显了,在autoware时,由于有两个类实现了EmployeeService接口,所以Spring不知道应该绑定哪个实现类,所以抛出了如上错误...这个时候就要用到@Qualifier注解了,qualifier的意思是合格者。...通过这个标示,表明了哪个实现类才是我们所需要的,我们修改调用代码,添加@Qualifier注解,需要注意的是@Qualifier的参数名称必须为我们之前定义@Service注解的名称之一。

    49210

    【Java】已解决:org.springframework.beans.factory.NoSuchBeanDefinitionException找不到Bean定义异常

    已解决:org.springframework.beans.factory.NoSuchBeanDefinitionException找不到Bean定义异常 一、分析问题背景 在使用Spring...典型的场景包括在Spring应用程序中注入依赖时,由于配置错误或未正确声明Bean,导致Spring容器无法找到相应的Bean。...二、可能出错的原因 导致org.springframework.beans.factory.NoSuchBeanDefinitionException报错的原因有多种,常见的有以下几点: 未正确声明Bean...:需要的Bean未在Spring配置中声明或未被Spring扫描到。...Bean名称或类型不匹配:注入的Bean名称或类型与定义的Bean不一致。 组件扫描路径错误:Spring容器未能扫描到Bean所在的包路径。

    59710

    谈谈 Spring 中的 NoSuchBeanDefinitionException

    什么是 NoSuchBeanDefinitionException 从字面其实就很好理解,NoSuchBeanDefinitionException 就是没有找到指定 Bean 的 Definition...所以要么是 BeanB 不存在在 Spring 上下文中(比如没有标注 @ Component,@Repository,@Service, @Controller等注解) ,要么就是 BeanB 所在的包没有被...如果 BeanB 已经被声明为一个 Bean,就再确认 BeanB 所在的包有没有被扫描。...所以,当 Spring 上下文中的一个实现了某个接口的 Bean 通过JDK 动态代理机制被代理时,代理类并不是继承了目标类,而是实现同样的接口。...也正因为如此,如果一个 Bean 通过接口注入时,可以成功被注入。但如果是通过真正的类注入,那么 Spring 将无法找到匹配这个类的 Definition——因为代理类并没有继承这个类。

    8.1K20

    Spring框架知识总结-注入Bean的各类异常

    当然还可能存在领一种原因就是,我们在使用注解,配置注解扫描的时候没有设置对包扫描的路径,那么除了这种情况之外就应该是没有定义bean了。...异常2:No qualifying bean of type […] is defined 这个异常的意思就是没有符合的类型Bean.原因是我们定义了两个或者多个相同的bean而不是唯一的bean,例如有一个接口...异常4:Proxied Beans 当一个bean在spring上下文中使用JDK动态代理机制,那么代理类不会继承目标对象,但它实现了相同的接口,因为这个原因,如果一个Bean注入了一个接口,那么不会出现问题...,但是如果注入了是一个实现的类,Sping容器就会无法找到此时的bean,因为代理类没有继承目标类。...一个bean被代理的原因很常见的一个场景就是使用spring的事务支持功能,可以使用注解@Transactional表示事务,也可以在配置文件里设置。

    1.1K80

    Spring实战——通过Java代码装配bean

    所以,Spring可以通过显示配置的方式来解决,第一种前面有介绍过,就是通过xml来显示声明bean,第二种就是这里要介绍的基于Java代码方式装配bean。   ...,一切都是那么只能,只需要在bean类上加上如@Component注解,Spring就会自动为该类创建相应的bean类。   .../stereo-javaconfig/build/reports/tests/index.html   究其原因,主要是既没有在xml中没有声明相应的bean,也没有添加@ComponentScan启动自动扫描组件机制...在执行这个方法的时候,Spring会拦截所有对方法的调用,当然这里会传入Spring注册好的CompactDisc的实例bean给cdPlayer方法来确保返回的是创建好的cdPlayer的bean。...注意这里的bean是单例的,其实在xml中配置的bean如果没有特殊声明,默认也是单例的。也就是说即使这里创建了多个类似cdPlayer的方法,得到的仍然是同一个cdPlayer的bean。

    1.5K50

    _Spring IOC之对象的创建方式、策略及销毁时机和生命周期且获取方式

    使用构造方法         Spring默认使用类的空参构造方法创建bean,假如类没有空参构造方法,将无法完成bean的创建,接下来我们可以测试一下。...]中定义的名称为“studentDao”的bean时出错:通过构造函数参数0表示的不满足依赖关系;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException...:没有可用的类型为“int”的符合条件的bean:应至少有1个符合自动连线候选条件的bean。...依赖项注释:{} 其实就是没有空的构造函数,加上一个就好了 2....使用工厂类方法         Spring可以调用工厂类的方法创建bean:创建工厂类,工厂类提供创建对象的方法,在配置文件中配置创建bean的方式为工厂方式。

    18000

    spring-boot使用aop进行日志记录

    使用aop在项目中进行日志记录,很适合aop的应用场景 使用aop进行日志记录 环境搭建 创建一个spring boot项目,并引入spring aop 项目中的pom.xml内容为 的方法上,如果有其他需求也可以自定义 这里还是用了@EnableAsync和@Async注解,使其在打日志的时候是异步的 由于异步交给线程池处理,在线程中不能直接获取spring...中的bean,所以需要借助springUtil获取相关bean进行操作 import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException...如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException) * * @param name * @return...名字在bean定义中有别名,则返回这些别名 * * @param name * @return * @throws org.springframework.beans.factory.NoSuchBeanDefinitionException

    87430

    Spring IOC之对象的创建方式、策略及销毁时机和生命周期且获取方式

    一、对象的创建方式 Spring会帮助我们创建bean,那么它底层是调用什么方法进行创建的呢?...使用构造方法         Spring默认使用类的空参构造方法创建bean,假如类没有空参构造方法,将无法完成bean的创建,接下来我们可以测试一下。...]中定义的名称为“studentDao”的bean时出错:通过构造函数参数0表示的不满足依赖关系;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException...:没有可用的类型为“int”的符合条件的bean:应至少有1个符合自动连线候选条件的bean。...依赖项注释:{} 其实就是没有空的构造函数,加上一个就好了 2.

    46820
    领券