Spring Boot是一个全新框架,2013年伴随着Spring4.0的发布而兴起。其设计的目的是用来简化新Spring应用的初始搭建和开发过程。
我们知道,Spring是2003年兴起的一个轻量级的java开源框架,轻量主要体现在解决了企业开发的复杂性,使用基本的javaBean代替EJB,但是随着业务逻辑的日增复杂,XML配置越来越繁琐,使得我们的系统越来越繁琐。
Spring的发展历程:
spring-boot的出现,并不是要替代spring,而是spring框架的紧密结合,用于提升spring开发者开发效率,开发更加快速,敏捷。约定优于配置的原则,使得我们更加快速的搭建框架,进行开发。
对于Spring Boot,不同的人有不同的看法:
比如有些 资深的架构师可能认为:连Tomcat都内嵌了,这框架绝对不能用!
年纪轻轻,刚开始Spring 学习的人可能认为:Spring玩的就是各种配置,都零配置了,还有什么好玩的。
面试官可能会问会不会Spring boot:Springboot入门简单,但是也得有Spring扎实的基础才行。
Spring现在已经相当成熟,由于随着开发越来越复杂,配置越来越繁多,导致开发效率下降,部署相对复杂,与第三方技术集成难度大,Spring Boot应运而生,SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。大多数Spring Boot项目只需要很少的配置文件。
SpringBoot的核心功能:
独立运行的Spring项目
内嵌servlet容器
提供starter简化maven配置
自动配置spring
准生产的应用监控
无代码生产和xml配置
SpringBoot 的 优 点:
快速构建项目
对主流框架无配置集成
项目可独立运行,无需外部依赖servlet容器
提供运行时的应用监控
极大的提高开发、部署效率
与云计算的天然集成
Spring Boot的运行原理:
Spring Boot关于自动配置的源码:spring-boot-autoconfigure-1.4.2RELEASE.jar
启动项:
Spring boot可以直接把应用打包成jar或者war,然后直接启动,不需要另外配置WebServer
Spring Boot的数据访问:
引入相应的依赖:数据库连接驱动(eg:mysql-connector-java)
使用某种方式访问数据库的maven依赖(eg:spring-boot-starter-jdbc/spring-boot-starter-data-jpa)
ORM框架:hibernate或者mybatis(hsqldb/mybatis-spring-boot-starter)
配置数据源:application.properties中配置数据源,通过spring.datasource/spring.jpa为前缀的属性自动配置datasource
整合ORM框架:hibernate/mybatis:
非关系型数据库:MongoDB/Redis:
开发与部署:Spring Boot常规部署jar或者war,还可以是基于dockert的云部署。
总结:对于Spring Boot,你不要因为以为他的简单而迷恋它,也不要因为他的不成熟排斥它,架构选型,还是要根据自己的实际情况。衡量它给你带来的便利和不便,决定是否要使用。