既然要整合Spring,加载配置文件的方式当然也要整合进来,而不是通过io流的方式读取配置文件,这样就太不灵活了。
Springboot加载配置文件的位置有很多,主要分为两大类,classpath和file。前者可以简单理解为jar包内配置文件的路径,后者表示操作系统中配置文件的路径。
加载配置文件非常简单,只需要一个注解:@PropertySource。
具体用法如下:
@PropertySource(value = {"classpath:application.properties", "file:config/application.properties", "file:application.properties"}, ignoreResourceNotFound = true)
public class HelloApplication {
}
可以在启动类中加入该注解,注解中的值表示要指定的配置文件路径。我制定了三个,一个是resource目录下,一个是jar包同级目录下的config目录内,一个是jar包同级目录下的application.properties配置文件。
优先级越往后越越高,所以一般jar包内的路径写在最前面。
配置好配置文件以后可以像Springboot一样注入属性了
@Controller
public class HelloController {
@Value("${spring.datasource.mysql.jdbc.username}")
private String username;
}