Java 分阶段加载spring上下文

Java 分阶段加载spring上下文,java,spring,jetty,jax-rs,Java,Spring,Jetty,Jax Rs,这是人们会问的奇怪问题之一——为什么 因此,我将从我为什么要这样做开始,然后讨论这个问题。我希望能够更好地控制spring上下文的加载方式。例如,我不想同时加载域和web api。这将使资源在其依赖项准备就绪之前可用。 在我继续这个过程之前,我可能还需要检查一些东西的状态。也就是说,模块/上下文之间会有顺序。可能不仅仅是启动,还包括关机 所以问题是,我找不到关于如何加载域上下文的任何信息,然后在加载完成后,我会检查状态,最后加载api上下文。我想从java代码中完成所有这些,因为我需要控制启动流

这是人们会问的奇怪问题之一——为什么

因此,我将从我为什么要这样做开始,然后讨论这个问题。我希望能够更好地控制spring上下文的加载方式。例如,我不想同时加载域和web api。这将使资源在其依赖项准备就绪之前可用。 在我继续这个过程之前,我可能还需要检查一些东西的状态。也就是说,模块/上下文之间会有顺序。可能不仅仅是启动,还包括关机

所以问题是,我找不到关于如何加载域上下文的任何信息,然后在加载完成后,我会检查状态,最后加载api上下文。我想从java代码中完成所有这些,因为我需要控制启动流程。我已经掌握了SpringServlet加载web上下文的基本知识。我没有找到任何关于的信息是,是否可以加载一个上下文,等待并加载另一个引用第一个上下文的上下文


知道我没有使用JavaEE或容器可能会很好。我只使用带有servlet和spring的嵌入式Jetty。那么有什么办法可以做到吗?

< P>我建议考虑如下:

  • 有关应用程序上下文生命周期管理顺序的扩展点,请阅读和。其思想是让顶级重要bean实现接口,这样标准应用程序上下文初始化也将按照您自定义的顺序处理这些bean
  • 将应用程序上下文XML文件拆分为更小的部分。在依赖于较高/较低上下文的上下文中使用
  • 使用任务关键型bean上的
    依赖于
    属性来确保依赖关系
  • 使用
    initializebean
    对需要的bean进行初始化,以确保当前bean在初始化后满足依赖关系

我建议考虑如下:

  • 有关应用程序上下文生命周期管理顺序的扩展点,请阅读和。其思想是让顶级重要bean实现接口,这样标准应用程序上下文初始化也将按照您自定义的顺序处理这些bean
  • 将应用程序上下文XML文件拆分为更小的部分。在依赖于较高/较低上下文的上下文中使用
  • 使用任务关键型bean上的
    依赖于
    属性来确保依赖关系
  • 使用
    initializebean
    对需要的bean进行初始化,以确保当前bean在初始化后满足依赖关系

考虑延迟加载的bean和延迟代理。
因此,bean将仅在第一次使用时创建…

考虑延迟加载bean和延迟代理。 所以这个bean只会在第一次使用时创建