SpringCloud升级之路2020.0.x版-7.从Bean到SpringCloud (2)

不同 servlet 容器的配置都可以用相同的 key 在 application.yml 中配置。例如暴露端口不用再在不同的 servlet 容器中配置,而是直接在 application.yml 中配置 server.port 即可。

不再需要构造 war 包部署到 servlet 容器中,而是直接打包成一个 jar 包直接运行。

用户不用关心 ApplicationContext 的创建与管理,而是可以直接使用。

只存在一个 ClassLoader,而不是像 servlet 容器那样有独立的 ClassLoader

image

Spring Cloud 在 Spring Boot 的基础上,增加微服务相关组件的接口与实现,不同的 Spring Cloud 体系组件接口与实现不同。但是公共的组件接口在 spring-cloud-commons 这个项目中,其中关于微服务组件的接口包括:

服务注册接口

服务发现接口

负载均衡接口

断路器接口

实现这些接口的组件,会基于 Spring Cloud 的 NamedContextFactory,对于不同微服务的调用或者控制,以微服务名称区分,产生不同的子 ApplicationContext。对于这个 NamedContextFactory,我们这个系列会专门有一节进行分析。

image

我们这一节梳理清楚了从 Bean 到 BeanFactory,在 BeanFactory 基础上封装的 ApplicationContext,以及主要基于注解的 ApplicationContext 以及 Spring factory SPI 的 Spring Boot,以及在 Spring Boot 基础上增加微服务抽象的 Spring Cloud 的这一系列关系。接下来我们会详细分析下 Spring Cloud 中很重要的抽象 - NamedContextFactory

微信搜索“我的编程喵”关注公众号,每日一刷,轻松提升技术,斩获各种offer

image

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzwyp.html