Spring Boot产生的背景和它的设计理念(根据精通Spring Boot42讲整理的笔记)

Spring Boot产生的背景和它的设计理念

1.Spring发展历史

2002年10月 Rod Johnso写了一本书《Expert One-on-One J233》,提出了一个依赖注入的概念。书中他在不使用EJB的情况下,写了30000多行的基础代码,代码根包命名为com.interface21。2003年的时候,Rod Johnson给这个框架起了个名字Spring.

2.Spring Boot的诞生

Spring的一个很大问题就是需要大量的配置和依赖管理。Spring每集成一个开源软件,就需要增加基础配置,后来人们直接称呼Spring为配置地狱。为了解决这个问题,2013年,Pivotal的CTO提出了实现免XML配置的开发体验。对于已经熟悉Spring生态系统的开发人员来说,Spring Boot是一个很理想的选择,对于采用Spring技术的新人来说,Spring提供了一种更简洁的方式来使用(这句话不是我说的,但是说的挺好的)

3.约定优于配置

约定优于配置(Convention Over Configration):开发人员仅需规定应用中不符合约定的部分,对于符合约定部分直接不用处理。这样就不需要做大量的配置了。

4.Starters

Spring Boot Starter有两个核心组件:自动配置代码和提供自动配置代码及其它有用依赖,也就是说,当项目中引入某个Starter,就可以使用这个Starter的功能,除非和默认功能不一样的地方需要单独配置,否则不需要做任何配置。

Spring Boot Starts列表
spring-boot-starter核心Starter,包括自动配置支持,日志和YAML
spring-boot-starter-activemq用于使用Apache ActiveMQ实现JMS消息
spring-boot-starter-amqp用于使用Spring AMQP和Rabbit MQ
spring-boot-starter-cache用于使用Spring框架的缓存支持
spring-boot-starter-data-elasticsearch用于使用ElasticSearch搜索,分析引擎
spring-boot-starter-data-jpa用于使用Hibernate实现Spring Data JPA
spring-boot-starter-data-mongodb用于使用基于文档的数据库MongoDB
spring-boot-starter-data-redis用于使用键-值数据存取Redis
spring-boot-starter-jta-atomikos用于使用Atomikos实现JTA事务
spring-boot-starter-mail用于使用Java Mail和Spring 框架Email发送支持
spring-boot-starter-quartz用于定时任务Quartz的支持
spring-boot-starter-security对Spring Security的支持
spring-boot-starter-test用于得失Spring Boot应用,包括Junit,Hamcrest和Mockito
spring-boot-starter-thymeleaf用于使用Thymeleaf模板引擎构建MVC Web应用
spring-boot-starter-validation用于使用Hibernate Validator 实现Java Bean校验
spring-boot-starter-web用于使用Spring MVC构建Web应用,包括RESTful,Tomcat是默认的内嵌容器
spring-boot-stater-websocket用于使用Spring框架的WebSocket支持构建WebSocket应用
  

5、Spring、Spring Boot和Spring Cloud的关系

Spring的两个主要功能是:IoC控制翻转和Aop面向切片.但是存在一个缺点就是需要大量的配置。

Spring Boot是Spring的一个升级,使用约定优于配置的理念,减少了配置。

Spring Cloud是基于Spring Boot开发的,Spring Boot可以快速的实现微服务,而Spring Cloud可以把格格微服务整合起来,简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值