我是靠谱客的博主 阔达丝袜,最近开发中收集的这篇文章主要介绍SpringBoot2第一讲:启用配置文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 新建SpringBoot2工程。

2. 把application.properties改名为application.yaml, 并输入intVal和stringVal等配置

注意:配置冒号有要有空格。

 

2. 添加配置文件对应类

package cn.gongler.learn.springboot2.learn1;

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

@Data
@ConfigurationProperties(prefix="gongler.learn1")
public class MyProperties {
    int intVal = 123;
    String stringVal = "defaultStr";
}

解释:

@ConfigurationProperties(prefix="gongler.learn1")指定了哪个类是配置文件对应类,以及配置文件中的统一前缀。

注意这个类不是Bean不是组件,只是表示映射关系。

3. 指定哪个配置文件映射类

@EnableConfigurationProperties(MyProperties.class)
@Configuration
public class MyConfiguration {
}

注意:必须同时与组件注解搭配,才能生效。推测是,枚举beans组件库。

4. 添加Controller类

@Component
@RestController
@RequestMapping("gongler")
public class Controller {

    @Autowired MyProperties properties;

    @GetMapping("learn1")
    public MyProperties hello(){

        return properties;//http://127.0.0.1:8080/gongler/learn1 返回:{"intVal":123,"stringVal":"defaultStr"}
    }
}

利用@Autowired把组件注入properties

@RestController使得返回properties对象自动转换成json。

5. 测试

 

 可以看到配置参数被成功载入。

未配置项会保留类的初始值。

多于的配置项不会报错。实际上一个配置文件可以对应多个映射类。不同模块各取所需。

@EnableConfigurationProperties(class)可以有条件产生Bean;@Component是无条件产生bean,所以不可以同时作用。这就是通常为什么SpringBoot中@ConfigurationProperties不与@Component一起约束同一个类的原因。

其他:

使用org.yaml.snakeyaml.scanner解析yaml配置文件。

最后

以上就是阔达丝袜为你收集整理的SpringBoot2第一讲:启用配置文件的全部内容,希望文章能够帮你解决SpringBoot2第一讲:启用配置文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部