关于application.yml基础配置以及读取方式
更新时间:2024年07月13日 10:30:36 作者:花果水莲
这篇文章主要介绍了关于application.yml基础配置以及读取方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、配置文件的格式
1.SpringBoot提供了3种配置文件的格式
- properties(传统格式/默认格式)
- yml(主流格式)
- yaml
二、配置文件
1. SpringBoot中导入对应starter后,提供对应配置属性
2.书写SpringBoot配置采用关键字+提示形式书写
三、配置文件的加载顺序
properties优先级>yml优先级>yaml优先级
不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留。
四、yml文件内容
#简单配置 server: port: 80 #对象配置 users: name: zhangsan id: 18 #简单列表配置,- 后跟1个空格 likes: - 游泳 - 打球 - 读书 #列表中是对象,key: value,不要忘记:后的空格 books: [{name: 三国,id: 435},{name: 水壶,id: 6599}] #在配置文件中可以使用属性名引用方式引用属性 baseDir: /usr/local/fire center: dataDir: ${baseDir}/data logDir: ${baseDir}/log #属性值中如果出现转义字符,需要使用双引号包裹 lesson: "Spring\tboot\nlesson"
五、读取yml配置
5.1 使用@Value读取单个数据
属性名引用方式:${一级属性名.二级属性名...}
@Value("${books[1].name}") private String bookName;
5.2 使用Environment对象封装全部配置信息
- 使用Environment对象封装全部配置信息
- 使用@Autowired自动装配数据到Environment对象中
@Autowired private Environment env; System.out.println(env.getProperty("books[1].name"));
5.3 自定义对象封装指定数据
- yml文件
datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC username: root password: root
- 自定义对象
@Component //bean对象,由spring来管理 @ConfigurationProperties(prefix = "datasource") //获取yml文件中datasource的属性,需要get和set方法,此处省略 public class MyDataSource { private String driverClassName; private String url; private String userName; private String password; }
- 在使用的地方,使用@Autowired自动装配
@Autowired private MyDataSource myDataSource;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java HashMap三种循环遍历方式及其性能对比实例分析
这篇文章主要介绍了Java HashMap三种循环遍历方式及其性能对比,结合具体实例形式分析了Java HashMap三种循环遍历方式的实现方法、运行效率及性能优劣,需要的朋友可以参考下2019-10-10Spring Data JPA踩坑记录(@id @GeneratedValue)
这篇文章主要介绍了Spring Data JPA踩坑记录(@id @GeneratedValue),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07springboot+mybatis快速插入大量数据的具体实现
最近导入表格数据时需要同时插入修改大量数据,下面这篇文章主要给大家介绍了关于springboot+mybatis快速插入大量数据的具体实现,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2023-04-04详解json string转换为java bean及实例代码
这篇文章主要介绍了详解json string转换为java bean及实例代码的相关资料,这里提供实例代码帮助大家理解,需要的朋友可以参考下2017-07-07解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)
这篇文章主要介绍了解决java编译错误的相关资料,主要解决 程序包javax.servlet不存在javax.servlet.*的问题,需要的朋友可以参考下2017-08-08
最新评论