接触Spring Boot已经很长时间了,但对SpringBoot的理解还是虚虚实实,找不着北,所以决定花一些时间总解下,虽然不知道能不能坚持下来,但先开始吧!
说明
Spring Boot是一个便于创建独立的、生产级的、基于Spring的应用程序框架,你可以很方便的启动程序。
从上我们可以得出三点:
1. 是一个基于Spring的应用程序框架。
2. 便于创建独立的、生产级的应用
3. 可以很方便的启动
特点
- 创建独立的SpringBoot应用
- 项目直接嵌入Tomcat、Jetty或Undertow服务器,无需依赖WAR文件
- 提供约定的“starter”依赖项,简化构建配置
- 尽可能的自动配置Spring和第三方库
- 提供生产就绪特性,如度量、运行状况检查和外部化配置
- 完全不需要生成代码,也不需要XML配置
以上是SpingBoot官方给的特点,涵盖了SpringBoot的主要特性,下面也谈谈自己的使用心得。
一、创建SpringBoot应用非常简单
可以在 https://start.spring.io/ 网站直接创建,也可以使用IDEA等IDE创建,可以选择基于Maven或Gradle工程
官网创建工程:
IDEA创建工程:
二、SpringBoot可创建jar包或war包
SpringBoot支持创建jar包和war包。创建的jar包是内嵌tomcat,可以通过java -jar xxx.jar命令启动。创建war包是外置tomcat,可以放到tomcat容易启动
三、SpringBoot 项目基于约定优于配置的准则
何为约定优于配置?
约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。
简单来说就是两点
1.开发人员仅需规定应用中不适合项目约定的配置
2.没有规定配置的地方,采用默认配置,以简化开发过程
SpringBoot项目的约定
1.默认Maven的目录结构。resources文件夹存放资源配置文件,static存放静态资源文件,templates存放模板文件。
2.默认的编译生成的类文件在targe文件夹
3.SpringBoot默认的配置文件必须是application文件名的yml文件或者properties文件,且唯一application.yml中默认属性。
4.数据库连接信息以spring: datasource: 为前缀;可以多环境配置。该属性可以根据运行环境自动读取不同的配置文件;端口号、请求路径等
四、唯一application.properties配置文件,可改后缀名为yml,查看起来更舒适
SpringBoot创建完成后默认的配置文件是以properties为后缀名,SpringBoot支持将后缀名改为yml。yml后缀名的配置文件可读性更加舒适
五、SpringBoot是构建SpringCloud 微服务框架的基础,学好SpringBoot可以方便进阶学习SpringCloud
SpringBoot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务,而Spring Cloud是一个基于Spring Boot实现的微服务框架。
总结
SpringBoot是一个基于Spring的快速开发框架,它通过“懒人整合包”(starter)将Spring常用的jar包包含在内,解决Spring依赖繁多问题。通过单一配置文件,解决了传统项目繁多、复杂的配置。约定优于配置的原则使项目搭建起来更多方便快捷。