Spring的bean在应用程序上下文中运行。
Application Context是Spring的高级容器。与beanfactory相似,它可以加载Bean定义,将Bean连接在一起,并根据请求分配Bean。此外,它增加了更多企业特定的功能,例如从属性文件解析文本消息的功能以及将应用程序事件发布到感兴趣的事件侦听器的功能。该容器由org.springframework.context.ApplicationContext接口定义。https://www.tutorialspoint.com/spring/spring_applicationcontext_container.htm
对于每个应用程序上下文,您可以具有许多配置文件,配置类或两者的混合。
您可以使用以下代码创建应用程序上下文:
ApplicationContext context = new FileSystemXmlApplicationContext("Beans.xml");
并与context.getBean
或一起获得豆@autowired
。
在某些情况下,您希望(或需要)具有上下文层次结构。在这些情况下,Spring提供了一种指定父上下文的方法。如果查看此构造函数,您将看到它收到一个上下文父级。
http://docs.spring.io/spring/docs/current/javadoc- apI/Org/springframework/context/support/FileSystemXmlApplicationContext.html#FileSystemXmlApplicationContext- org.springframework.context.ApplicationContext-
如您所见,父上下文是子上下文的相同类型,它们都是http://docs.spring.io/spring/docs/current/javadoc- apI/Org/springframework/context/ApplicationContext.html。
区别在于它们通过父母/子女关系建立联系。不是撰写(导入)关系。
最常见的情况是在Spring MVC应用程序中,该应用程序有2个上下文,第一个是调度程序Servlet上下文,另一个是根上下文。在这里,您可以看到关系http://docs.spring.io/spring/docs/3.0.x/spring-framework- reference/html/mvc.html#mvc- servlet
在这里,您可以看到Spring Boot应用程序中应用程序上下文层次结构的示例。
https://dzone.com/articles/spring-boot-and-application-context- hierarchy