Spring Boot是什么
Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
配置
properties配置
yml配置
- 支持树形结构
- 支持显式中文
日志
- 默认logback日志
视图
支持jsp、freemark、velocity、thymeleaf等视图层技术
默认thymeleaf模板,thymeleaf模板比较友好的支持前端后分离,不破坏HTML结构
国际化
- messages_国家代码.properties国际化资源配置,并在thymeleaf模板直接引用
多坏境
在我们的日常开发中,生产环境的配置和测试环境的配置以及开发环境的配置基本上都是不相同的,每次到部署环境的时候,就需要手动的切换配置文件,如果在切换的过程中一不小心的话,就会出错,所以在开发中,一般会搞个配置文件检查的功能,来避免出错,而Spring Boot则充分考虑了这种情况,为开发人员提供了天然的多环境配置支持。
部署
- jar部署方式
- Spring Boot内置了tomcat、jetty等应用服务器,默认使用tomcat
- 打成jar包后使用命令java -jar jar_name.jar即可启动,这种启动方式在远程连接断开后服务会停止,所以加上后台运行命令:
- nohup java -jar jar_name.jar &
- 停止服务:通过查看进程ps -ef | grep jar_name查出进程号,再杀掉相应进程即可。
- war包部署方式(以tomcat为例)
- Maven配置文件pom.xml的packaging改为war包方式:<packaging>war</packaging>
- 去掉内置tomcat等就用服务器,加在spring-boot-starter-web下:
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
- 添加servlet-api依赖,其中version改为相应的tomcat版本号
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.0.44</version>
<scope>provided</scope>
</dependency>
- 修改程序启动方式,其中Application.class为程序入口主程序类
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
- 添加配置server.context-path: /war_name,即项目路径改为与war包同名,到此配置完成,可以进行打war包
- 后续的部署步骤,与普通的tomcat一致,这里不再缀述