spring bean的 加载顺序

@Configuration、@Service、@Component 都会将修饰的类交给 spring 来管理,但就注解这个层面来说,貌似是没有加载顺序的。默认为 包名+文件名 来判断加载顺序。

如果需要指定加载顺序,可以使用 @DependsOn 注解。

 

例如:

有这么一个注解,@DependsOn,它可以指定依赖哪个 bean ,让自己在该 bean 之后加载。这样就可以实现 bean 顺序的设置。

@Configuration@DependsOn({"initConfig", "aaa"})public class Bb {    ...}

@DependsOn 可以指定多个 bean ,用 String[] 表示,有顺序。@DependsOn({“initConfig”, “aaa”}) 表示在执行 Bb.java 之前,会首先执行 InitConfig.java,然后再执行 Aaa.java。bean 名称默认为 首字母小写的文件名。

原文链接:https://springboot.io/t/topic/2967

posted @ 2021-02-01 11:18  小匠人  阅读(1541)  评论(0编辑  收藏  举报