网站开发 在线报名无屏蔽搜索引擎
web/
2025/9/28 4:39:58/
文章来源:
网站开发 在线报名,无屏蔽搜索引擎,wordpress插件无法安装插件,搜索引擎优化心得体会Spring Boot支持一种指定Spring应用程序上下文层次结构的简单方法。 这篇文章只是演示了此功能#xff0c;我尚未在我从事的项目中很好地使用它。 Spring Cloud使用此功能来创建引导上下文 #xff0c;在该上下文中#xff0c;如果需要#xff0c;可以从外部配置服务器加载… Spring Boot支持一种指定Spring应用程序上下文层次结构的简单方法。 这篇文章只是演示了此功能我尚未在我从事的项目中很好地使用它。 Spring Cloud使用此功能来创建引导上下文 在该上下文中如果需要可以从外部配置服务器加载属性该属性稍后可用于主应用程序上下文。 为了快速退后一步 Spring Application Context管理着向其注册的所有bean的生命周期。 应用程序上下文层次结构提供了一种重用bean的方法可以在子上下文中访问在父上下文中定义的bean。 考虑使用多个应用程序上下文和应用程序上下文层次结构的人为设计用例–这是为两个不同的端口提供两个不同的端口这些端口在每个端口处具有不同的端点集。 Child1和Child2是典型的Spring Boot应用程序遵循以下原则 package child1;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import root.RootBean;SpringBootApplication
PropertySource(classpath:/child1.properties)
public class ChildContext1 {Beanpublic ChildBean1 childBean(RootBean rootBean, Value(${root.property}) String someProperty) {return new ChildBean1(rootBean, someProperty);}
} 每个应用程序都驻留在其自己的根包中以避免在扫描bean时发生冲突。 请注意子上下文中的Bean依赖于预期来自根上下文的Bean。 要监听的端口是作为属性提供的因为我们希望这两个上下文可以在不同的端口上进行监听所以我已经明确指定了要加载的属性文件其中包含以下内容 server.port8080
spring.application.namechild1 有了这个设置Spring Boot提供了一个流畅的接口来加载根上下文和两个子上下文 SpringApplicationBuilder appBuilder new SpringApplicationBuilder().parent(RootContext.class).child(ChildContext1.class).sibling(ChildContext2.class);ConfigurableApplicationContext applicationContext appBuilder.run(); SpringBootApplicationBuilder返回的应用程序上下文似乎是链中的最后一个通过上面的ChildContext2定义。 如果现在启动应用程序则将存在带有两个不同子上下文的根上下文每个子上下文均通过不同的端口公开端点。 通过/ beans执行器端点的可视化显示如下 但是并非所有事情都是干净的控制台中显示了与导出jmx端点有关的错误但是这些信息仅供参考似乎不会影响启动。 样本可以在我的github仓库中找到 翻译自: https://www.javacodegeeks.com/2016/12/spring-boot-application-context-hierarchy.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83136.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!