Spring Boot
概述:
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。
功能:
- 快速启动:内置了各种应用服务器,默认使用tomcat
- 自动配置:控制springboot内部的程序生效
- 起步依赖:自动管理jar包的版本
- 辅助功能:统一监控
SpringBoot快速入门
1.导入SpringBoot起步依赖
<!--springboot工程需要继承的父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>
<dependencies>
<!--web开发的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.编写controller
3.编写引导类
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class,args);
}
}
SpringBoot 配置
默认配置文件名称:application
在同一级目录下优先级为:properties > yml > yaml
properties:
server.port=8080
server.address=127.0.0.1
xml:
<server>
<port>8080</port>
<address>127.0.0.1</address>
</server>
yml:
server:
port: 8080
address: 127.0.0.1
YAML:数据格式
参数引用:
name: zhangsan
person:
name: ${name}
读取yaml配置文件内容
-
@Value
@Value("${person.name}") private String name;
-
Environment: 直接注入即可使用
-
@ConfigurationProperties
@Component @ConfigurationProperties(prefix = "person")
直接注入到类中
Spring Boot 配置
我们在开发Spring Boot应用时,通常同一套程序会被安装到不同环境,比如:开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么非常麻烦。profile功能就是来进行动态配置切换的。
profile配置方式
多profile文件方式
- application-dev.properties yml 开发环境
- application-test.properties yml 测试环境
- application-pro.properties yml 生产环境
yml多文档方式
---
server:
port: 8081
spring:
profiles: dev
---
server:
port: 8082
spring:
profiles: test
---
server:
port: 8083
spring:
profiles: pro
---
spring:
profiles:
active: dev
profile激活方式
- 配置文件:
spring.profiles.active=dev
-
虚拟机参数
-Dspring.profiles.active=dev
-
命令行参数
–spring.profiles.active=dev
内部配置加载顺序
Springboot程序启动时,会从以下位置加载配置文件:
- file:./config/:当前项目下的/config目录下
- file:./ :当前项目的根目录
- classpath:/config/:classpath的/config目录
- classpath:/ :classpath的根目录
加载顺序为上文的排列顺序,高优先级配置的属性会生效
外部配置加载顺序
通过官网查看外部属性加载顺序:
:./config/:当前项目下的/config目录下
2. file:./ :当前项目的根目录
3. classpath:/config/:classpath的/config目录
4. classpath:/ :classpath的根目录
加载顺序为上文的排列顺序,高优先级配置的属性会生效
外部配置加载顺序
通过官网查看外部属性加载顺序:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html