1、Spring Boot 的启动类启动时,默认扫描其所在的根目录及其子目录。
所以:所以注入的bean,放在 启动类所在的目录或者启动类所在目录的子目录,最为适宜。
2、如果,注入的bean不在启动类所在的目录或者其子目录下的话,默认扫描是找不到的,
这时候,就需要在启动类上添加扫描的目录。
注意:添加扫描的目录时:添加了什么目录,启动类启动时就扫描这个目录及其子目录,
所以,添加扫描bean的目录时,一定要添加,启动类所在的目录(否则,启动类所在的
目录及其子目录是不会被扫描的;当然,如果启动类所在的目录及其子目录 没有要用到
的东西--<基本没这种情况>,可以不添加。所以还是加上,以免出现未知异常,就头疼了。)
即:需要扫描哪里,就添加对于的扫描目录(灵光一闪)。
3、举例说明:
A:先举例说明第二中情况:
两个module:
I:springboot-web
//启动类WebApplication.java 所在的目录为:com.cp.springboot.web
//MsgController所在目录为:com.cp.springboot.web.controller
II:springboot-domain
//MsgBean 所在目录为:com.cp.springboot.domain.bean
此时:要想正确调用注入的MsgBean,启动类应该添加扫描目录:
@ComponentScan(basePackages = {"com.cp.springboot.web","com.cp.springboot.domain.bean"})
启动类代码如下:
@SpringBootApplication @ComponentScan(basePackages = {"com.cp.springboot.web","com.cp.springboot.domain.bean"}) public class WebApplication { public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); } }
B:举例说明第一种情况:注入bean后,不需要进行其他改动
两个module:
I:springboot-web
//启动类WebApplication.java 所在的目录为:com.cp.springboot.web
//MsgController所在目录为:com.cp.springboot.web.controller
II:springboot-domain
//MsgBean 所在目录为:com.cp.springboot.web.bean
此时:MsgBean所在的bean目录是:com.cp.springboot.web目录(启动类所在的目录)的子目录,
所以,启动类启动时,也会自动扫描bean目录,就不需要再添加扫描目录了。(这样简单明了,并且以后打包放进spring-web中的时候,出现问题的概率不大。此处纯属个人见解,哈哈,仁者见仁,智者见智。
当然,很多大侠们还有更风骚的处理方式,我也在寻找。
)
相关推荐
主要介绍了详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
bean加入spring容器管理的方式,bean加入applicationcontext容器的方式
主要介绍了Springboot实现多线程注入bean的工具类操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
该项目采用标签形式对Datasource进行注入将Datasource组件交给容器进行统一管理
主要介绍了SpringBoot如何统一配置bean的别名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Springboot测试类没有bean注入问题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要给大家介绍了关于spring boot中几种注入方法的一些个人看法,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
1. 循环依赖是什么? Bean A 依赖 B,Bean B 依赖 A这种情况下出现循环依赖。 Bean A → Bean B → Bean A 更复杂的间接依赖造成的循环...Spring先创建beanC,接着创建bean B(将C注入B中),最后创建bean A(将B注
通过@Bean 和spring的factoryBean注入的bean. 以及对应@service注解注入的类 通过@Autowired 注入对象的时间是现根据类型在根据beanName获取的案例集合
1.为什么需要控制加载顺序 ...如果不加以控制,这时候可能会报找不到依赖的错误。 但是你明明已经把相关的Bean都注册进spring上下文了呀。这时候你需要通过一些手段来控制springboot中的bean加载顺序。
主要介绍了springboot 获取工具类bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了springboot注册bean的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文通过实例代码给大家详解了springboot获取ioc容器中注入的bean问题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
SpringBoot 获取spring bean方式.rar
主要介绍了springboot @Configuration @bean注解作用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要为大家详细介绍了Spring boot工具类静态属性注入,及多环境配置详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
自定义注解得使用,模拟spring通过注解方式创建bean实例!
多线程实例化bean,创建多线程时可注入
Spring-注入依赖,AOP,自动注入Bean。入门。为什么没有0积分?
主要介绍了springboot 使用上下文获取bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下