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编程思想模块文章


这个家伙很懒,啥也没有留下😋