什么是springboot?

Spring Cloud 是基于Spring Boot框架提供的一系列的微服务的解决方案集合,有配置中心、服务注册、负载均衡等等。这些开发都是在Spring Boot的基础上进行封装。从这个角度上来看Spring Boot可以看做Spring Cloud的基础。

那么到底什么是Spring Boot 呢?

首先Spring Boot是一个基于Spring来开发出来的Spring生态下的快速开发解决方案,在Spring 框架中讲究的是约定大于配置。所以其实如果想要深入的了解关于Spring Boot的东西,就先得花点时间研究一下Spring 相关的内容,这个博主也会在后期的分享内容中进行分享。

Spring Boot的起源

首先聊一下关于Spring的东西,在很早之前很多公司在JavaEE的标准下通过EJB容器作为主要的企业级软件开发方案,当时EJB作为Java企业级开发的内容。

EJB提供了一种组件模式,开发人员只需要关注业务,而不需要关注具体的底层实现,例如远程调用、事务管理等,但是随之而来的问题就是EJB的侵入式太强了,导致整个系统的使用效率极低。就迫使开发者考虑一下怎么开发一个新的解决方案。

之前的分享中提到过Spring 组织,只有在发现这个东西没有可以替代的解决方案的时候才会考虑自研新的内容。所以就出现了Java EE企业级解决方案Spring 框架。

 

Spring 框架是一个轻量级的框架,主要的目的就是简化JavaEE企业应用开发,为了实现这个目的,主要采用了两种技术IOC 和AOP。经过不断的发展,Spring 对在JavaEE开发中的常用的技术进行一个合理的封装整合,让其能快速的适应企业级开发的解决方案。例如出现的Spring MVC是替代Struts2的解决方案,Spring 整合 Mybatis代替了Hibernate框架等等的内容。

Spring IOC/DI

IOC(Inversion of Control)和DI(Dependency Injection)全称分别是控制反转和依赖注入,怎么理解这里两个概念呢?

IOC

IOC(控制反转),实际上就是把对象的生命周期委托给Spring容器来管理,而反转的意思就是获取对象的方式被反转了,从给的模式到拿的模式。

 

也就是说,当对象托管到Spring 的容器中,客户端在使用该对象的时候,就不需要在通过New的方式来创建对象,直接可以从容器中对需要的内容进行获取使用就可以了。如下图所示。

 

DI

DI(Dependency Inject),依赖注入。简单的理解就是容器在运行期间,通过动态的方式把某种依赖关系注入到组件中。

 

实现依赖注入的方式有三种

  • 接口注入
  • 构造方法注入
  • setter方法注入

Bean 装配方式的升级

基于XML配置的方式能很好的完成对于生命周期的描述和管理,但随着项目的不断增大,XML配置的方式也就越来越多,对应的配置文件也就越来越多,这样整个的配置文件的管理就会使得项目维护成本不断的增加。另外随着业务关系的复杂化,配置文件的依赖关系也会变复杂,所以为了解决这个问题 Spring从2.x开始,提供了可以通过注解的方式来对Bean进行声明和注入,也就是可以通过配置类的方式进行注入,减少了配置文件的XML的数量。所以就出现了两种声音,到底是Spring注解配置类的方式好还是通过XML配置文件的方式好。

从Spring 3.x 开始提供了Java配置类的方式,它可以完全的取代XML配置文件,通过Java代码的方式来完成Bean对象的注入操作。

从XML到@Configuration的改变,是开发效率的提升。同时也是支持了新的解决方案Spring Boot的诞生。

Spring Boot的价值

SpringBoot并不是一个新的技术架构,而是通过封装的方式来简化Spring 应用的开发方式,开发者只需要通过少量的代码就可以创建一个产品级的Spring 因公。这也印证了Spring的约定优于配置的核心思想。

如何理解约定优于配置的思想?

约定配置是一种软件设计的规范,目的就是减少配置的数量,提升开发效率。并不是一种新的思想。

在Spring Boot 中,约定优于配置的思想主要体现在如下的方面

  • Maven 目录结构的约定
  • Spring Boot 默认的配置的约定
  • Spring MVC 的依赖
  • 对于Starter组件自动配置

Spring Boot的核心

  • starter 组件,提供了开箱即用的解决方案
  • 自动装配,可以通过上下文环境自动完成Bean的装配
  • Actuator Spring Boot应用监控
  • Spring Boot CLI 用于命令行快速构建应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值