spring boot读取yml配置

yml配置文件:

qingnianren:
  blog:
    address: https://blog.csdn.net/m0_60252632
    name: 青年人责任
    brief: 青年们要充分认识自己所负的责任
    time: 2022-12-02 

方式一: 

@value值绑定

配置

/**
 * @Value 【值绑定】
 * 在每个对应的属性上加@Value注解,注解中的内容填写yml中对应的属性,
 * 使用@Value注解时,yml中的属性名和JavaBean中的属性名可以不对应,但是数据类型需要对应
 */
@Data
@Configuration
public class BlogProperties {

    /**
     * 博客地址
     */
    @Value("${qingnianren.blog.address}")
    private String address;

    /**
     * 博客名称
     */
    @Value("${qingnianren.blog.name}")
    private String name;

    /**
     * 博客简介
     */
    @Value("${qingnianren.blog.brief}")
    private String brief;

    /**
     * 博客时间
     */
    @Value("${qingnianren.blog.time}")
    private String time;

}

测试

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class BlogPropertiesTests {

    /**
     * 注入Bean
     */
    @Resource
    private BlogProperties blogProperties;

    @Test
    public void testValue() {
        log.info("博客地址:{}", blogProperties.getAddress());
        log.info("博客名称:{}", blogProperties.getName());
        log.info("博客简介:{}", blogProperties.getBrief());
        log.info("博客时间:{}", blogProperties.getTime());
    }
}

结构

博客地址:青年人责任的博客_CSDN博客-领域博主

博客名称:青年人责任

博客简介:青年们要充分认识自己所负的责任

博客时间:2022-12-02

方式二: 

@ConfigurationProperties松散绑定

配置:

/**
 * @ConfigurationProperties 【松散绑定】,只需要通过prefix属性指定属性参数名的前缀即可
 * 松散绑定的bean属性名需要跟yml中的属性名对应,但是不需要精确匹配,
 * yml可依据约定使用驼峰(如:qingNianRen)、"-"线(如:qing-nian-ren)、全大写加上"_"(如:QING_NIAN_REN)
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "qingnianren.blog")
public class BlogProperties02 {

    /**
     * 博客地址
     */
    private String address;

    /**
     * 博客名称
     */
    private String name;

    /**
     * 博客简介
     */
    private String brief;

    /**
     * 博客时间
     */
    private String time;
}

测试:

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class BlogPropertiesTests {

    /**
     * 注入Bean
     */
    @Resource
    private BlogProperties02 blogProperties02;

    @Test
    public void testConfigurationProperties() {
        log.info("博客地址:{}", blogProperties02.getAddress());
        log.info("博客名称:{}", blogProperties02.getName());
        log.info("博客简介:{}", blogProperties02.getBrief());
        log.info("博客时间:{}", blogProperties02.getTime());
    }
}

结果:

博客地址:青年人责任的博客_CSDN博客-领域博主

博客名称:青年人责任

博客简介:青年们要充分认识自己所负的责任

博客时间:2022-12-02

方式三: 

@Environment

测试:

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class BlogPropertiesTests {

    /**
     * 注入Bean
     */
    @Resource
    private Environment environment;

    @Test
    public void testEnvironment() {
        log.info("博客地址:{}", environment.getProperty("qingnianren.blog.address"));
        log.info("博客名称:{}", environment.getProperty("qingnianren.blog.name"));
        log.info("博客简介:{}", environment.getProperty("qingnianren.blog.brief"));
        log.info("博客时间:{}", environment.getProperty("qingnianren.blog.time"));
    }
}

结构:

博客地址:青年人责任的博客_CSDN博客-领域博主

博客名称:青年人责任

博客简介:青年们要充分认识自己所负的责任

博客时间:2022-12-0

猜你喜欢

转载自blog.csdn.net/m0_60252632/article/details/128197455