SpingBoot揭秘-快速构建微服务体系(第一遍)

本次是快速阅读了王福强的《SpingBoot揭秘-快速构建微服务体系》的第一遍。没有深究里面的具体内容。有所收获,写一点心得以加深印象。

1 Spring框架的本质

这一章节并没有言短意赅地去给spring框架的本质做定义,只是介绍了

历史
IoC
JavaConfig

黑暗的EJB历史就不讲了,JavaConfig是对原来XML的一种改进,添加一个@Configuration注解。这里稍微讲下IoC。
IoC(Inversion Of Control)控制反转。控制反转是一个设计思想,实现IoC的实现方式有两个,DL(Dependency Lookup)和DI(Dependency Injection)。DL的关键代码片段:

ApplicationContext context = new FileSystemXmlApplication("....");
MockeService service = context.getBean(MockService.class);
service.dosth();

在使用服务的时候,我们会注入这个服务bean,这就是DI。
Spring IoC容器的依赖注入分为两个阶段:
1)收集和注册
2)分析和组装

2 SpingBoot的工作机制

@SpringBootApplication的背后

主要是三个Annotation。

@Configuration
@EnableAutoConfiguration
@ComponentScan

@Configuration说明这个是一个IoC容器的配置类,构建下容器的环境,将一些bean添加到容器里面去。

@EnableAutoConfiguration主要用到了SpringFactoriesLoader这个类,这个类的主要功能就是从指定的配置文件META-INF/spring.factories加载配置;spring.factories是一个典型的java properties文件,key和value都是完整类名。那么这个注解的作用就是将META-INF/spring.factories的配置项通过反射实例化为对应标注为@Configuration形式的IoC容器配置类。

@ComponentScan这个不必讲了,扫描指定包。

自动装配

基于条件的自动装配:@ConditonOnClass ....
调整自动装配的顺序:@AutoConfigureAfter ....

3 了解纷繁的spring-boot-starter

这里讲了一些常用的starter,后面有需要再细看。

spring-boot-starter-logging
spring-boot-starter-web
spring-boot-starter-jdbc
spring-boot-starter-aop(重点讲)
spring-boot-starter-security(重点讲)
监控与spring-boot-starter-actuator(重点讲)

你可能感兴趣的:(SpingBoot揭秘-快速构建微服务体系(第一遍))