使用springboot搭建项目的话,如果代码里需要读取配置文件信息,动态生成数据该怎么办呢,其实可以直接写到springboot配置文件当中,自己定义标签来读取。
application.yml与application.properties有什么不同呢?
(1)yml文件用缩进代替properties文件中相同的前缀
(2)yml文件的值前面有一个空格
.yml文件写法:
.properties文件写法:
一般开发过程当中都会使用 .yml配置文件,我们这里也使用这种演示,.yml格式就是key,value形式的。
第一种读取一个字符串,先定义一个 key value,为了避免重名,前面可以多带几个前缀,然后就可以在controller通过spring的el表达式来获取
1.
2.
3.
4.
第二种,可以直接拿一个实体类接收,前提是有公共的前缀,然后实体类使用这个注解注入,别忘写getset方法@ConfigurationProperties(prefix = "myServer")
1.
2.
3.
4.
第三种方式,使用自定义配置文件properties来注入,不使用springboot的配置文件
1.
2.别忘了生成get/set方法;在实体类当中使用这个注解指定配置文件位置@PropertySource(value={"classpath:jdbc.properties"})
@component加这个注解的原因是我要在controller获取测试它
3.
4.
备注:
- 如果在Controller层注入该类的话,该类必须被spring容器所管理,因此必须加Component注解
- PropertySource注解可以一次读取N个资源文件,使用逗号隔开
- Value注解中的el表达式必须对应资源文件中的key值
- 类的属性名称可以任意取一个,只要是合法的即可
over!