Java 分阶段加载spring上下文
这是人们会问的奇怪问题之一——为什么 因此,我将从我为什么要这样做开始,然后讨论这个问题。我希望能够更好地控制spring上下文的加载方式。例如,我不想同时加载域和web api。这将使资源在其依赖项准备就绪之前可用。 在我继续这个过程之前,我可能还需要检查一些东西的状态。也就是说,模块/上下文之间会有顺序。可能不仅仅是启动,还包括关机 所以问题是,我找不到关于如何加载域上下文的任何信息,然后在加载完成后,我会检查状态,最后加载api上下文。我想从java代码中完成所有这些,因为我需要控制启动流程。我已经掌握了SpringServlet加载web上下文的基本知识。我没有找到任何关于的信息是,是否可以加载一个上下文,等待并加载另一个引用第一个上下文的上下文Java 分阶段加载spring上下文,java,spring,jetty,jax-rs,Java,Spring,Jetty,Jax Rs,这是人们会问的奇怪问题之一——为什么 因此,我将从我为什么要这样做开始,然后讨论这个问题。我希望能够更好地控制spring上下文的加载方式。例如,我不想同时加载域和web api。这将使资源在其依赖项准备就绪之前可用。 在我继续这个过程之前,我可能还需要检查一些东西的状态。也就是说,模块/上下文之间会有顺序。可能不仅仅是启动,还包括关机 所以问题是,我找不到关于如何加载域上下文的任何信息,然后在加载完成后,我会检查状态,最后加载api上下文。我想从java代码中完成所有这些,因为我需要控制启动流
知道我没有使用JavaEE或容器可能会很好。我只使用带有servlet和spring的嵌入式Jetty。那么有什么办法可以做到吗? < P>我建议考虑如下:
- 有关应用程序上下文生命周期管理顺序的扩展点,请阅读和。其思想是让顶级重要bean实现接口,这样标准应用程序上下文初始化也将按照您自定义的顺序处理这些bean
- 将应用程序上下文XML文件拆分为更小的部分。在依赖于较高/较低上下文的上下文中使用
- 使用任务关键型bean上的
依赖于
属性来确保依赖关系
- 使用
对需要的bean进行初始化,以确保当前bean在初始化后满足依赖关系initializebean
我建议考虑如下:
- 有关应用程序上下文生命周期管理顺序的扩展点,请阅读和。其思想是让顶级重要bean实现接口,这样标准应用程序上下文初始化也将按照您自定义的顺序处理这些bean
- 将应用程序上下文XML文件拆分为更小的部分。在依赖于较高/较低上下文的上下文中使用
- 使用任务关键型bean上的
依赖于
属性来确保依赖关系
- 使用
对需要的bean进行初始化,以确保当前bean在初始化后满足依赖关系initializebean
因此,bean将仅在第一次使用时创建…考虑延迟加载bean和延迟代理。 所以这个bean只会在第一次使用时创建