为了账号安全,请及时绑定邮箱和手机立即绑定

Spring 依赖注入优先级问题

Spring 依赖注入优先级问题

UYOU 2019-03-28 22:15:06
问题的业务场景1.开发一个dubbo的provider服务,采用的是零配置方式,所有的配置都是以java类的形式通过注解加载。2.目前配置分为    a).Hibernate    b).Dubbo    c).AOP    d).Thread    e).Redis    然后由总配置类LaunchConfig导入统一加载(这个加载有商榷,我也不确定是否在导入之前就已经被spring注入).    3.用到的相关spring注解有:    @Configuration    @ComponentScan    @Import    @PropertySource    @Autowired    @Component问题描述1.如上图所示,我按照顺序写了配置了,通过日志输出我确定了确实是按照顺序加载。问题是,我的某一个配置类中依赖了一个spring管理的JavaBean,它是通过@Component注解的,这边出现了一个状况就是,初始化这些配置类的时候,这个被spring管理的JavaBean好像还没有被注入进去。2.我想问的是,Spring的依赖注入是否有优先级,如果有这个级别是如何算的,是否可以手动指定或者调整,其次就是,虽然Spring的依赖注入可以通过多个注解来实现,但是这些注解本身是否有先后的顺序,比如,@Component比@Service的加载顺序要优先3.其实这个写法我在以前的项目使用过,那会没有问题,可能不是顺序的问题,但是我排查下来,目前认为问题在这里,当然技术水平决定了我的眼界,所以还请有经验的同学,帮忙看看,顺带指点一下。
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

关于问题2,@Service是@Component的细化,并没有在官方文档上看到说它们有优先级区别。还有Spring的依赖注入是可以有先后顺序的,比如BeanA要在BeanB之前实例化,可以考虑在BeanB中使用depend-on属性,使得BeanA在BeanB之前实例化。


查看完整回答
反对 回复 2019-04-18
?
倚天杖

TA贡献1828条经验 获得超3个赞

我在开发的时候发现,componet 的载入要优先于Service和Controller


查看完整回答
反对 回复 2019-04-18
  • 2 回答
  • 0 关注
  • 2109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信