简述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的树型结构,我们建议使 ...
随机推荐
- foreach循環體控制
通常情況下,在程式中的cursor定義之前,整合了l_sql變量后,轉化sql語句時,通過檢查STATUS的值來判斷sql語句是否有錯誤. 語句如: if STATUS th ...
- oeasy教你玩转linux010104灵魂之问whatis
灵魂之问whatis 回忆上节课 我们上次在系统里面乱转
- 关于js与jquery中的文档加载
jquery中的$(document).ready()类似于javascript中的window.onload(),但是其中还是有很大区别的 1.jquery中的可以简化为$().ready(),$( ...
- rpc中的高并发
手写一个高性能的rpc框架 模拟服务端,运行main函数,相当于启动服务器 public class ServerApplication { public static void main(Strin ...
- 06_Python异常处理机制
1.异常概述 1.什么是错误: 错误是指有逻辑或语法等导致一个程序无法正常执行的问题 2.什么是异常: 异常时程序出错时标识的一种状态,程序不会向下执行而转去调用此函数的地方等待处理错误并恢复 ...
- Java面试题(1):详解int与Integer
Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...
- Kubernetes 服务部署最佳实践(一) ——如何更好地设置 Request 与 Limit
如何为容器配置 Request 与 Limit? 这是一个即常见又棘手的问题,这个根据服务类型,需求与场景的不同而不同,没有固定的答案,这里结合生产经验总结了一些最佳实践,可以作为参考. 所有容器都应 ...
- MyBatis的逆向工程、Example类
public void testFindUserByName(){ //通过criteria构造查询条件 UserExample userExample = new UserExample(); us ...
- centos7在线yum安装jumpsever2.2.2
#查看主机名 host=$(hostname) # 修改字符集,否则可能报 input/output error的问题,因为日志里打印了中文 localedef -c -f UTF-8 -i zh_C ...
- ckeditor4.0以上使用行间距插件lineheight报错修改
①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下. ②在config.js 中添加 config.extraPlugins += (config.extra ...