Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot优点
1、开发基于 Spring 的应用程序很容易,可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs。
2、Spring Boot 项目所需的开发或工程时间明显减少,通常会提高整体生产力。
3、Spring Boot不需要编写大量样板代码、XML配置和注释。
4、Spring引导应用程序可以很容易地与Spring生态系统集成,如Spring JDBC、Spring ORM、Spring Data、Spring Security等。
5、Spring Boot遵循“固执己见的默认配置”,以减少开发工作(默认配置可以修改)。
6、Spring Boot 应用程序提供嵌入式HTTP服务器,如Tomcat和Jetty,可以轻松地开发和测试web应用程序。(这点很赞!普通运行Java程序的方式就能运行基于Spring Boot web 项目,省事很多)
7、Spring Boot提供命令行接口(CLI)工具,用于开发和测试Spring Boot应用程序,如Java或Groovy。
8、Spring Boot提供了多种插件,可以使用内置工具(如Maven和Gradle)开发和测试Spring Boot应用程序。
开发环境
Spring Boot 2.0.0.RELEASE需要Java 8以上的版本以及 Spring Framework 5.0.4.RELEASE或更高版本,为Maven 3.2+和Gradle 4提供构建支持。
不仅如此,SpringBoot在构建项目时默认使用Maven方式,所以本地开发环境也需要配置Maven环境变量。
如果你更喜欢使用Gradle方式来构建项目,那么本地就应该Gradle环境变量支持。
Spring Boot 2.2.0RELEASE所要求的系统环境
构建工具 版本
Maven 3.3+
Gradle 5.x 或 6.x
Spring Boot支持以下嵌入式servlet容器:
名称 Servlet版本
Tomcat 9.0 4.0
Jetty 9.4 3.1
Undertow 2.0 4.0
创建项目
下面就用IDEA创建一个springboot项目
除了可以用ide创建springboot项目,还有其他方式,如以下两种
1、创建基础Maven项目,修改pom.xml添加spring-boot-parent
2、https://start.spring.io 选择依赖后,生成项目并下载
选择new project,然后选择spring initializr
填写项目名称等
选择springboot的版本和所需的依赖,这里不选依赖也可以,我们可以在创建项目后再在pom文件添加依赖
版本号后面加 SNAPSHOT表示: 快照版,可以稳定使用,且该版本会一直进行小量的优化和改进
GA: General Availability,正式发布的版本,官方推荐使用该版本,国外很多项目都是使用GA来表示正式发布版本的
PRE: 预览版,主要是用来内部开发人员和测试人员测试使用,因此不建议使用
图中Developer Tools中的三个依赖
Spring boot DevTools:它最重要的功能就是自动应用代码更改到最新的应用程序上,只要类路径上的文件发生更改,使用的应用程序就会自动重新启动。即实现热部署,方便开发过程中调试代码。
Lombok:它的功能是减少实体类的重复代码书写,如:get、set、toString等方法。Lombok的一个@Data注解,即可提供getter、setter、equals、canEqual、hashCode、toString方法。
IDE中需要安装Lombok插件才可以使用,否则在调用实体类中的方法时会提示没有此方法。
Spring Configuration Processor:spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,这时候就需要用到spring configuration processor。
在配置类开头加上@PropertySource(“classpath:your.properties”),其余用法与加载yml的配置一样
点击finish,一个最简单的spring boot项目就创建成功了。项目结构如下图
DemoApplication为项目启动类
appliaction.properties为配置文件
pom.xml是用来构建项目的配置文件