前言
提示:这里可以添加本文要记录的大概内容:
Spring Boot的application配置文件
提示:以下是本篇文章正文内容,下面案例可供参考
一、application配置文件是什么?
application配置文件在Spring Boot中起着至关重要的作用,它为应用程序提供必要的配置信息。在Spring Boot启动时,会自动加载该文件,并根据其中的配置信息对应用程序进行相应的配置。
application配置文件主要有两种格式:application.properties和application.yml(或application.yaml)。尽管这两种格式的内容是一致的,但它们的语法和结构有所不同。
application.properties使用标准的键值对格式进行配置,而application.yml则使用YAML(YAML Ain’t Markup Language)语法,这种语法更易于人类阅读,尤其是在处理复杂的层次结构或数组时。
application配置文件的配置项非常广泛,包括但不限于数据库连接信息、日志配置、端口号等。这些配置项可以根据具体的应用需求进行自定义设置。
此外,application配置文件可以放在多个位置,包括外置的/config子目录里等。不同位置的配置文件具有不同的优先级,Spring Boot会按照优先级顺序加载这些配置文件,优先级高的配置会覆盖优先级低的配置。
如果需要修改已经打包成jar包的application配置文件,如application.yml,可以使用jar命令导出该文件,进行必要的修改后再重新打入jar包。
总的来说,application配置文件是Spring Boot应用程序不可或缺的一部分,它使得应用程序的配置变得更加灵活和易于管理。
二、使用步骤
1.添加配置数据
由于application.yml和application.properties两者作用一样,下面就使用yml文件进行演示
可以 自定义Spring Boot的服务器端口号:
server:
port: 8099 #8099就是自定义端口号,注意前面要有个空格
定义基本类型
username: root
password: 123456
port: 3306
flag: true
time: 2024/04/09
定义自定义javaBean
user: #User类定义,或者{"name": “彭于晏”,"age": 18,"sex": "男"}
name: 彭于晏
age: 18
sex: 男
定义set,list集合
course: #List,Set 在元素前加-
- spring
- java
- c
定义一个集合存放JavaBean
userList: #List数组,用于存放User
- name: 彭于晏
age: 18
sex: 男
- name: 彭于晏
age: 18
sex: 男
- name: 彭于晏
age: 18
sex: 男
map集合的定义
map: #Map定义,或者{"java": 100,"sql": 99,"vue":98}
java: 100
sql: 99
vue: 98
2.读取自定义内容
上述内容组合在一起
server:
port: 8099
db:
username: root
password: 123456
port: 3306
flag: true
time: 2024/04/09
course: #List,Set 在元素前加-
- spring
- java
- c
user: #User类定义,或者{"name": “彭于晏”,"age": 18,"sex": "男"}
name: 彭于晏
age: 18
sex: 男
userList: #List数组,用于存放User
- name: 彭于晏
age: 18
sex: 男
- name: 彭于晏
age: 18
sex: 男
- name: 彭于晏
age: 18
sex: 男
map: #Map定义,或者{"java": 100,"sql": 99,"vue":98}
java: 100
sql: 99
vue: 98
编写Javabean用于取值
@Data
@Configuration
@ConfigurationProperties("db") //由于yml文件中设置了一个前缀”db",所以在这里设置一下前缀,自动装配数据
public class AppConfig {
String username;
String password;
int port;
boolean flag;
Date time;
String[] course;
User user;
List<User> userList;
Map map;
}
在测试类中写以下测试内容
@SpringBootTest
class SbYamlWebApplicationTests {
@Autowired
AppConfig appConfig;
@Test
void contextLoads() {
System.out.println();
}
}
在经过debug测试能够得到配置文件中的数据
在xxxApplication类中启动web项目,显示我们tomcat端口号为 8099,设置端口号也修改成功
注意:
application.yml和application.properties这俩文件可以同时存在,且properties的优先级比yml高,当两个文件中设置同一个信息时,会优先使用properties中的配置信息
如:在两文件中同时设置不同端口号
这是运行的tomcat端口号就是8999
在yml文件中还可以设置开发环境测试环境
spring:
profiles:
active: test # 激活开发环境
#指定开发环境文档模块
---
spring:
config:
activate:
on-profile: dev #指定当前模块为开发模块
server:
port: 3000
#测试模块配置信息
---
spring:
config:
activate:
on-profile: test #测试文档 模块名
server:
port: 4000
我们只需修改active:
的值就能进行开发和测试环境之间的切换。
总结
在这里更推荐大家使用yml文件进行配置,写起来具有分层,看起更明显。