SpringBoot自定义application配置文件及使用


前言

提示:这里可以添加本文要记录的大概内容:

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文件进行配置,写起来具有分层,看起更明显。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值