SpringBoot之获取配置文件内容

1介绍

2@ConfigurationProperties注解获取全局配置文件中内容

举例说明:
yml文件

person:
	lastName: zhangsan
	age: 18
	boss: false
	birth: 2017/12/12
	maps: { k1: v1, k2: v2 }
	list:
		- lisi
		- wangwu
	dog:
		name: 小狗
		age: 2

在java类中读取全局配置文件中的配置
@ConfigurationProperties注解的prefix属性,匹配application.yml全局配置文件中的一个属性值,然后映射到这个组件。

#注意,配置文件的赋值,是通过成员属性对应的setter方法。
@Component
@ConfigurationProperties(prefix = "person")
@Data
public class Person {

    private String lastName;
    private int age;
    private boolean boss;
    private Date birth;
    private Map maps;
    private List list;
    private Dog dog;
   

3@Value注解获取全局配置文件中内容

举例说明

test:
  age: 2
  price: 3.14
  isOk: true
  birth: 2018/12/12
  date: 2019/11/11 21:59:43
  greet: 'hello \n world'
  greet1: 'hello\n world'

在java类中读取全局配置文件中的配置

@Component
@Data
public class Test {

    @Value("${test.age}")
    private int age;

    @Value("${test.price}")
    private float price;

    @Value("${test.birth}")
    private Date birth;

    @Value("${test.date}")
    private Date date;

    @Value("${test.greet}")
    private String greet;

    @Value("${test.greet1}")
    private String greet1;
    
}

4@Value与@ConfigurationProperties对比

导入配置文件处理器,配置文件进行绑定时就会有提示。

<dependency>
	<groupId>org.springframe.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

SpringBoot之获取配置文件内容

5使用 @PropertySource 读取其他的Properties配置文件

使用@Value进行赋值

#1.在source目录下创建dataSource.properties
username = root
password = 123123
dirverClassName = org.git.mm.mysql.Driver
url = jdbc:mysql://localhost;3306/test


#2.在DataSource.java中配置,使用@Value获取datasource.properties中的内容
@Data
@PropertySource(value ="classpath:datasource.properties")
@Component(value = "dataSource")
public class DataSource {

    @Value("${username}")
    private String username;
    @Value("${password}")
    private String password;
    @Value("${url}")
    private String url;
    @Value("${dirverClassName}")
    private String driverClassName;
}

使用@ConfigurationProperties进行赋值

#1.在source目录下创建dataSource.properties.
datasource.username = root
datasource.password = 123123
datasource.dirver-class-name = org.git.mm.mysql.Driver
datasource.url = jdbc:mysql://localhost;3306/test


#2.在DataSource.java中配置,使用@ConfigurationProperties(prefix="")获取datasource.properties中的内容.
@Data
@PropertySource(value ="classpath:datasource.properties")
@ConfigurationProperties(prefix = "datasource")
@Component(value = "dataSource")
public class DataSource {

    private String username;

    private String password;

    private String url;

    private String driverClassName;
}

参考

springboot教程 yml配置文件 与 获取配置文件中的内容:https://blog.csdn.net/qq_36723759/article/details/104254275

上一篇:SpringBoot项目启动自动创库建表


下一篇:dataSource理解