1. SpringBoot概述
1.1 背景
多年来,随着新功能的增加,Spring 变得越来越复杂。若启动一个新的Spring项目,必须添加构建路径或添加 Maven 依赖关系、配置应 用程序服务器、添加 spring 配置。
SpringBoot是解决这个问题的方法。SpringBoot建立在现有spring框架之上。使用 spring 启动,避免 了之前必须做的所有样板代码和配置 。因此, SpringBoot可以帮助我们以很多的工作量, 更加健壮地使用现有的Spring功能。
1.2 SpringBoot特点
独立运行
Spring Boot内嵌了各种servlet容器,Tomcat、Jetty等,不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。
简化配置
spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。
自动配置
Spring Boot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-boot-starter-web启动器就能拥有web的功能,无需其他配置。
无代码生成和XML配置
Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是其核心功能之一。
应用监控
Spring Boot提供一系列端点可以监控服务及应用,做健康检测。
1.3 SpringBoot的优点
减少开发和测试的时间。
使用 JavaConfig 有助于避免使用 XML配置文件的编写。
避免大量的 Maven 导入和各种版本冲突。
通过提供默认值快速开始开发。
没有单独的 Web 服务器需要。这意味着不再需要启动 Tomcat,Glassfish或其他任何东西。
需要更少的配置。因为没有 web.xml 文件。只需添加用@Configuration注解的类,然后添加用@Bean注解的方法,Spring 将自动加载对象并像以前一样对其进行管理。甚至可以将@Autowired 添加到 bean 方法中,使 Spring 自动装入需要的依赖关中。
基于环境的配置使用这些属性,可以将正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。
在加载主应用程序属性文件后,Spring 将在(application{environment} .properties)中加载后续的应用程序属性文件。
2. SpringBoot项目创建
3. SpringBoot的基础知识点
3.1 application配置文件
3.1.1 配置文件的两种格式
如下图所示,为SpringBoot项目的总配置文件。配置文件分为两种,一种为properities后缀,一种为yaml后缀。
两种格式的配置文件中,properties的优先级更高。接下来将分别介绍两个文件格式的语法。
① properties配置文件
# key=value---注释
server.port=8080
server.servlet.context-path=/aaa
② yaml配置文件
注意:value值需要和冒号留一个空格,这是语法格式。
# 设定端口号、访问路径
server:
port: 8080
servlet:
context-path: /ykx
# 设置属性值
student:
name: ykx
age: 18
sex: man
hobby: running, reading, writing
个人更喜欢yaml配置文件,层级更加清晰。
3.1.2 profile多环境配置
注意,在实际开发中,在不同的阶段,例如开发、测试、生产等,项目使用的配置文件也各不相同。
在SpringBoot项目中,可以为其不同阶段分别创建其适合的配置文件,只需要在总配置文件中激活即可。
除了下图展示的一种激活方式外,还可以使用cmd命令行的方式,使用如下命令:
java –jar xxx1.jar --spring.profiles.active=xxx2 (xxx1表示jar的名称;xxx2表示激活环境)
3.1.3 配置文件常用设置
# 设定端口号、访问路径
server:
port: 8080
servlet:
context-path: /ykx
# 设置实体属性值
student:
name: ykx
age: 18
sex: man
hobby: running, reading, writing
# 激活配置文件
spring:
profiles:
active: test
3.1.4 读取配置文件
我们习惯把一些自己的信息放入配置文件中,便于修改。比如OSS. 支付。 我们还希望通过java代码能够读取到配置文件中自己的信息。springboot提供了两种方式用于读取springboot配置文件中信息的方式。
① @ConfigurationProperties
使用在类上 @ConfigurationProperties(prefix=“前缀”) – 表示读取配置文件中以”前缀“开头的属性值。
实体类
@Component //将对象交给spring创建
@Data
@ConfigurationProperties(prefix = "student")//读取属性文件中student前缀的值
public class