2 -【 SpringBoot 配置方式 】- 6 加载指定配置文件

1 JavaBeans、测试类 同上

2 修改

2.1 新建配置文件 person.properties

person.last-name=yangshuo
person.age=23
person.boss=false
person.birth=1995/12/07
person.maps.k1=v1
person.maps.k2=v2
person.lists=[yang1,yang2]
person.dog.name=dog1
person.dog.age=11

2.2 修改 Person ,添加 @PropertySource 注解

package com.snow.bean;

import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 将 application.yml 配置文件中 配置的每一个属性的值,映射到该 bean 中,使用注解
 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
 *     prefix = "person":配置文件中哪个下面的所有属性进行一一映射
 *
 * 只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能;
 */
@PropertySource(value = "classpath:person.properties")
@Component  // 将该 JavaBean 加入到容器中
@ConfigurationProperties(prefix = "person")
@Data
@ToString
public class Person {

    private String lastName;
    private Integer age;
    private Boolean boss;

    private Date birth;

    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;

}

2.3 启动测试类,控制台打印


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.4.RELEASE)

2020-02-15 15:03:07.123  INFO 83853 --- [           main] c.s.s.SpringbootConfigAppTests           : Starting SpringbootConfigAppTests on yangshuodembp with PID 83853 (started by yangshuo in /Users/yangshuo/Desktop/snow_springboot)
2020-02-15 15:03:07.124  INFO 83853 --- [           main] c.s.s.SpringbootConfigAppTests           : No active profile set, falling back to default profiles: default
2020-02-15 15:03:09.352  INFO 83853 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-02-15 15:03:09.738  INFO 83853 --- [           main] c.s.s.SpringbootConfigAppTests           : Started SpringbootConfigAppTests in 3.424 seconds (JVM running for 5.215)
Person(lastName=yangshuo, age=23, boss=false, birth=Thu Dec 07 00:00:00 CST 1995, maps={k1=v1, k2=v2}, lists=[[yang1, yang2]], dog=Dog(name=dog1, age=11))
2020-02-15 15:03:10.107  INFO 83853 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知所起 一往而深

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值