springboot通过注解读取配置文件并映射到属性或实体类中

通过注解读取配置application.perperties文件中的 key-value(键值对)并将key-value中的value映射到属性或实体类中

1、application.perperties

# 这里是 linux一些配置信息 ,需要读取到 java程序 (自定义的key)
server.name= centos7

server.ip=192.168.11.121

2、给属性增加注解读取配置文件数据

@Component  //交给spring管理,不需要new对象
@PropertySource("classpath:application.properties") //将配置文件读取过来
public class ServerUtils {

    @Value("${server.name}")        //将 配置文件的 value 赋值给name
    private String name;    //服务器名称
    @Value("${server.ip}")
    private String ip ;//   ip地址

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }
}

3、编写实体类通过注解读取配置文件数据

 /**
     * 读取配置文件
     * @return
     */
    @RequestMapping("/getData")
    public Object readData(){
        return serverUtils;
    }

通过注解读取配置application.yaml文件中的 key-value(键值对)并将key-value中的value映射到属性或实体类中

1.application.yaml

person:
  name: qinjiang
  age: 3
  happy: false
  birth: 2000/01/01
  maps: {k1: v1,k2: v2}
  lists:
   - code
   - girl
   - music
  dog:
    name: 旺财
    age: 1

2、给属性增加注解读取配置文件数据

/*
@ConfigurationProperties作用:
将配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应
*/
@Component //注册bean
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private Integer age;
    private Boolean happy;
    private Date birth;
    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;
}

3、编写实体类通过注解读取配置文件数据

@SpringBootTest
class DemoApplicationTests {
    @Autowired
    Person person; //将person自动注入进来
    @Test
    public void contextLoads() {
        System.out.println(person); //打印person信息
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值