你的选择是:
- 使用
@DependsOn
批注(在spring 3.0.x之后可用)或depends-onxml
属性,并使使用已配置记录器的所有类均取决于记录器工厂 - 使工厂成为记录器的实际工厂,并将记录器注入Bean中,而不是直接调用该工厂-这与选项1基本上相同,除了隐含依赖项。这是我推荐的选项。
- 将初始化代码移至指定了调用顺序的代码部分–
main()
方法,或ServletContextListener
在初始化Spring之前的注册方法。
没有办法在Spring中明确定义初始化顺序,而且可能永远也不会-考虑到你可以加载许多可能有冲突顺序的应用程序上下文配置文件,因此无法为它定义有用的语义。我还没有看到无法通过重构代码以更好地符合依赖项注入模式来实现所需排序的情况。



