1.回顾spring

优点

  • 开源,轻量级,非侵入式的一站式框架,简化企业级应用开发。

  • 控制反转(IOC),依赖注入(DI)降低了组件之间的耦合性,实现了软件各层之间的解耦。

  • 面向切面(AOP),利用它可以很容易实现一些拦截,如事务控制等。

  • spring 对于主流的应用框架提供了很好的支持,例如 mybatis。

  • spring 提供有自己的 mvc 实现。

缺点:

  • 代码轻量级,但配置重量级,有大量模板化配置。

  • 需要很多jar包,版本可能不兼容。

    起步依赖(在父工程中自动依赖相关的jar)

虽然 spring 的组件代码是轻量级的,但它的配置却是重量级的。虽然 spring引入了注解功能,但是仍然需要编写大量的模板化配置文件.项目的依赖管理也是一件耗时耗力的事情,在环境搭建时,需要分析要导入大 量库的坐标,而且还需要分析导入与之有依赖关,一旦选错依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

Spring Boot 对上述 spring 的缺点进行的改善和优化,基于约定优于配置的思想.可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。

优化:我们提出spring boot

springboot中我们内置了服务器,是一种微服务概念,可以快速集成第三方配置,如jdbc

2.Spring Boot 概述

Spring Boot 是由 Pivotal 团队提供的在 spring 框架基础之上开发的框架,其设计目的是用来简化应用的初始搭建以及开发过程。Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是 用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具.

Spring Boot 以约定大于配置的核心思想,从而使开发人员不再需要定义样板化的配置。它集成了大量常用的第三方库配置(例如 Redis,Jpa RabbitMQ, Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用,通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域成为领导者。

总之:spring boot是在spring的基础上,优化了配置方面的问题,对spring只做增强,不做修改。

3.SpringBoot特点

  • 创建独立的 spring 应用程序

  • 直接内嵌 tomcat、jetty 和 undertow

  • 提供了固定化的“

  • starter”配置,以简化构建配置

  • 尽可能的自动配置 spring 和第三方库

  • 提供产品级的功能,如:安全指标、运行状况监测和外部化配置等

  • 绝对不会生成代码,并且不需要 XML 配置

4.SpringBoot 的核心功能

起步依赖

起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

自动配置

Spring Boot 的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定 Spring 配置应该用哪个,不该用哪个。该过程是 Spring 自动完成的。

Spring Boot 自动配置是在应用启动的时候就会完成的,所以在项目启动的源码中包含着如何实现自动配置的原理。 一个简单的Spring Boot 应用的启动入口类可以这样定义,主要的依赖于 @SpringBootApplication 这个注解,标记它是Spring Boot 的启动类。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐