简述application.properties和application.yml 以及 @ConfigurationProperties 和@PropertySource @Value 和@ImportResource的用法,区别
问题: 如何在application.properties和application.yml中配置String,Date,Object,Map,List类型的属性,并且idea能提示
先写一个Person 类和一个Dog类:


在properties中配置Person类如下:

如果是yml的格式如下:

上图yml中map和list在一行中显示了,如果不想在一行中显示如何处理?如下:

问题:如果我想将上面配置的属性注入到Person类的一个实例中,怎么处理?每个属性的注入都用@Value么?

此时我们就要用到@ConfigurationProperties

加个controller测试下:


此外ConfigurationProperties 搭配Validated注解一起使用,可以进行特殊校验:

问题:我们设置端口号时,输入server这个词后就会有提示,如:server.port等,如果我也想要设置person的时候有提示怎么处理?
加入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
此时修改配置看看:(注意Person类上的注解不能去掉:@ConfigurationProperties(prefix = "person"))

问题:person类的配置太多了,写在主配置文件中,不适合,如果我要迁移到一个叫person.propties的文件中,然后使用@ConfigurationProperties(prefix = "person"))该
注解依然能够给Person类注入属性,如何实现:

此时需要用到@PropertySource

此时测试下:

@ImportResource注解的用法,用来注入appliaction相关的配置,如bean.xml



结果:

但目前我们都会用如下方式替代:

简述application.properties和application.yml 以及 @ConfigurationProperties 和@PropertySource @Value 和@ImportResource的用法,区别的更多相关文章
- 构建第一个Spring Boot2.0应用之application.properties和application.yml(八)
本节学习在项目中配置文件配置的方式,一种是通过applicaiton.properties,一种是通过application.yml方式. 一.环境: IDE:IntelliJ IDEA 2017.1 ...
- SpringBoot application.properties (application.yml)优先级从高到低
SpringBoot application.properties(application.yml) 优先级从高到低 SpringBoot配置文件优先级从高到低 =================== ...
- Spring Boot中application.properties和application.yml文件
application.properties和application.yml文件可以放在一下四个位置: 外置,在相对于应用程序运行目录的/congfig子目录里. 外置,在应用程序运行的目录里 内置, ...
- Spring boot application.properties和 application.yml 初学者的学习
来自于java尚硅谷教程 简单的说这两个配置文件更改配置都可以更改默认设置的值比如服务器端口号之类的,只需再文件中设置即可, properties可能是出现的比较早了,如果你不调你的默认编码,中文可能 ...
- idea的配置文件------application.properties和application.yml
当application.yml 和 application.properties 两个文件同时存在的时候,application.properties的优先级是高于application.yml的, ...
- application.properties和application.yml
1.application.properties 文件和 application.yml 文件优先级: 当同时存在时,那application.yml 只是个摆设. 2.yml文件的好处,天然的树状结 ...
- SpringBoot框架:配置文件application.properties和application.yml的区别
一.格式 1.application.properties格式: server.port=8080 server.servlet.context-path=/cn spring.datasource. ...
- java获取application.properties和application.yml配置文件信息
public static void main(String[] args) { String result=getProjectConfig("max-file-size"); ...
- springboot~application.properties和application.yml的使用
在springboot框架里进行项目开始时,我们在resource文件夹里可以存放配置文件,而格式可以有两种,properties和yml,前者是扁平的k/v格式,而后者是yml的树型结构,我们建议使 ...
随机推荐
- Elasticsearch7.6 集群部署、集群认证及使用、数据备份
window 环境部署集群 注意:window下载解压elasticsearch一定需要解压多次.例如搭建的3节点的,需要解压3次,防止生成 cluster UUID 一致导致只能看到一个节点 1.e ...
- ES6常用总结(一)
let,const let声明变量,const声明常量,两者均为块级作用域 let,const在块级作用域内不允许重复声明 const声明的基本数据类型不可以修改,引用数据类型可以修改.具体看我的另一 ...
- Java 的八种排序算法
Java 的八种排序算法 这个世界,需要遗忘的太多. 背景:工作三年,算法一问三不知. 一.八种排序算法 直接插入排序.希尔排序.简单选择排序.堆排序.冒泡排序.快速排序.归并排序和基数排序. 二.算 ...
- 轮廓线DP
轮廓线DP 刚刚学了轮廓线DP,想了好久才懂. 我的理解就是用一条线的状态去更新另一条线的状态,然后将格子填满. 图中正方形即是要填东西(根据题意)的格子,红线的状态是由黑线转移过来的. ...
- 【web系统UI自动化】关于UI自动化的总结
实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充. 首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充. 70%的测试工作集中在底层接口测试和单元测试,2 ...
- 集成react-native-image-picker时,报错Couldn't get file path for photo
1. 版本环境: "react": "16.13.1", "react-native": "0.63.2", " ...
- Canalv1.1.4版本搭建HA集群
前提 Canal上一个正式版是于2019-9-2发布的v1.1.4,笔者几个月前把这个版本的Canal推上了生产环境,部署了HA集群.过程中虽然遇到不少的坑,但是在不出问题的前提下,Canal的作用还 ...
- jumpserver如何在远程时使用复制粘贴-windwos系统下
jumpserver堡垒机搭建好了,但是在使用的时候,有时候会出现远程下不能复制粘贴,这让体验十分不爽. 于是着手解决这个问题,附上参考链接,感谢大佬:http://itren.xiaolee.net ...
- P1004 方格取数(四维动态规划)
题目描述 设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A 0 0 0 0 0 0 0 0 ...
- git github仓库
起因 centos 下 git到 github仓 经过 下载git yum install git -y 配置git git config --global user.name "Your ...