SpringBoot学习(常见的几种获取配置文件数据方式)

1.从yml文件中通过@Value获取

1.1在application.yml配置文件中配置如下属性

// 例如在application.yml  文件中配置如下属性 
name: testName

1.2 通过@Value获取配置文件属性的数据值

//
@org.springframework.stereotype.Service
public class DemoServiceImpl implements DemoService{

//在这里通过@Value的方式注入属性值,常见的一般实在三层架构的controller层
//注入数据,这里我通过service层注入演示
    @Value("${name}")
    private String name;

    @Override
    public String getName() {

        return this.name;
    }

}

1.3 效果如下所示

SpringBoot学习(常见的几种获取配置文件数据方式)_第1张图片

2.在application.yml文件中获取对象的数据

2.1在application.yml 文件中配置如下信息

// 例如在application.yml  文件中配置如下属性 
person:
  name: zhangsan
  age: 11
  addr: guagnzhou

2.2新建一个Person对象

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * Date:2020/3/21
 @author:lg
 注意:一定要有Get、Set方法  这里通过@Data生成
 */
@ConfigurationProperties(prefix = "person")//声明配置文件中的前缀
@Data//生成get set方法
@Configuration//声明为一个配置类信息,交给Spring管理
public class Person {

    private String name;
    private String addr;

    private Integer  age;


    public  String  tInfo(){

        return "name=" + this.name +  "age=" + this.age + "addr=" + this.addr;
    }
}

2.3效果如下所示

SpringBoot学习(常见的几种获取配置文件数据方式)_第2张图片

3.通过自定义配置文件获取(建议,可以不再application.yml文件中注入自定义配置信息)

3.1自定义配置文件test.properties

SpringBoot学习(常见的几种获取配置文件数据方式)_第3张图片

user.username=lisi
user.age=11
user.sex=nv

3.2新建一个User对象

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.annotation.Resources;

/**
 * Date:2020/3/21
 *
 * @author:lg
 */
@ConfigurationProperties(prefix = "user")
@PropertySource("classpath:config/test.properties")//指定文件的路径
@Data
@Configuration
public class User {
    private String username;
    private String sex;
    private Integer age;
}

3.3效果如下

SpringBoot学习(常见的几种获取配置文件数据方式)_第4张图片

总结:这里只列举常见的几种方式,还有其他方式可以自行学习

你可能感兴趣的:(SpringBoot,java)