springBoot 读取配置文件yml中的信息


 

yml中自定义一些变量

var:
  analyze_url: test
  ocr_url: test
  microsoft_key: test

映射到类变量中

@Getter
@Component
public class varModel {
    @Value("${var.analyze_url}")
    private String analyze_url;
    @Value("${var.ocr_url}")
    private String ocr_url;
    @Value("${var.microsoft_key}")
    private String microsoft_key;
}//end

调用方式

注入

    @Autowired
    varModel varModel_;

通过  varModel_ 调用

yaml 语法中 双引号和单引号是不一样的,如

name: "zhangsan \n list"  获取的值为 zhangsan 换行 list

name : 'zhangsan \n list'  获取的值为zhangsan \n list

也就是说双引号中的特殊字符还是表示其原来的意思,单引号中的特殊字符就只是一个特殊字符。

 

yml 根据类直接注入

写一个varModel 类将里面的属性全部注入进去

@Component
@ConfigurationProperties(prefix = "var-model")
@Getter
@Setter
public class varModel {
    private String name;
    private Map<String,String> mapList;
    private List<String> listStr;
}//end

yml 第一层命名规范,小写字母加短横杠

varModel类中出现这个错误

官方解决办法

<dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-configuration-processor </artifactId>
            <optional> true </optional>
        </dependency>

 yml中的另一个用法

使用${} 语法获取yml中其他数据。

 


					


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM