Spring Cloud是基于Spring Boot提供的一套微服务解决方案,配置中心、服务注册和负载均衡等都是在Spring Boot框架上构建的
重新认识Spring Boot
EJB提供了组建模式,开发人员只需要关注业务开发,不需要关心底层实现原理。但使用EJB配置泰国烦琐、臃肿、低效
- Spring
1.轻量级、简化J2EE开发的IOC/DI,AOP
2.万能胶,快速方便地集成和开发
Spring IOC/DI
IOC(Inversion of Control)
把对象的生命周期托管到Spring容器中,对象的获取方式被反转了。
早期的Spring中,主要通过XML的方式来定义Bean,Spring会解析XML文件,把定义的Bean转载到IOC容器中
DI(Dependency Inject)
依赖注入,IOC容器在运行期间,动态地把某种依赖关系注入组件中。
例如如果2个Bean存在聚合关系,通过依赖注入,在IOC容器解析配置的时候,会根据Bean的依赖关系进行注入
- 实现方式:
1.接口
2.构造方法
3.setter方法
Bean装配方式的升级
Spring 3.x之后可通过JavaConfig的Java代码方式替代XML,完成Bean注入
@Configuration、@ComponentScan、@Bean、@Import等注解来装配Bean。
Spring仍需要完善的
- 依赖过多,不同依赖包的版本很容易导致版本兼容问题
- 配置太多,开发者需要做很多重复工作
- 运行和部署繁琐,项目打包,部署到容器
Spring Boot的价值
简化Spring应用开发,只需要通过少量代码就可以创建一个产品级的Spring应用
核心思想:约定大于配置
理解约定大于配置(Convention Over Configuration)
一种软件设计范式,目的减少配置数量和降低理解难度,提升开发效率。
- Spring Boot体现约定大于配置方面
1.Maven目录结构的约定
2.Spring Boot默认的配置文件及配置文件中配置属性的约定
3.对Spring MVC的依赖,自动依赖内置的Tomcat容器
4.对Starter组件自动完成装配
Spring Boot的核心
Spring Boot是基于Spring Framework体系构建的,Spring Boot最主要的核心为自动装配,start组件也是基于自动装配来实现的。
- 核心组件
1.自动装配,自动根据上下文完成Bean的装配
2.Starter组件,提供开箱即用的组件
3.Actuator,Spring Boot应用的监控
4.Spring Boot CLI,基于命令行工具快速构建Spring Boot应用
快速构建Spring Boot应用
//略,详见Spring Boot编程思想模块文章
Spring Boot自动装配原理
//略,详见Spring Boot编程思想模块文章
手写实现一个Starter
//略,详见Spring Boot编程思想模块文章
Comments | 0 条评论