1.读核心配置文件
springBoot会默认读取resources文件夹下,或者resources下的config目录下的名为application.properties或application.yml文件。
可以用@Value("${key}")取值,也可以注入spring自带的environment对象,用ev.getProperty("key");取值
2.读自定义配置文件
创建一个配置文件对应的实体类添加如下注解
@Configuration //@PropertySource(value = "classpath:mail.properties") @ConfigurationProperties(prefix = "mail",locations = "classpath:mail.properties")
在spring1.5一下提供了一个类注解:
@ConfigurationProperties:
常用的两个属性是:
locations:指定配置文件
prefix:指定该配置文件中的某个属性群的前缀
但是使用spring1.5时,源码部分做了修改,去掉了locations属性,所以另一个注解就上场啦
@PropertySource:
value:这里指定配置文件,替代原来@ConfigurationProperties的locations
encoding:指定读取配置文件时的编码
这个encoding很重要,如果不指定使用默认的话很可能出现读取乱码的情况,我写demo就遇到了,百度了很多解决方案都是从ide工具本身入手,根本不能解决问题,最后还是我自己看注解的源码才发现有这个属性的。