Spring Boot 使用笔记(如何将配置写进属性文件)
使用外部属性文件
外部属性文件有两种,放置在 maven 或者 gradle 项目约定好的 resources 文件夹下:
(1)application.yml(注意格式,yml 对格式要求非常严格)
样例文件:
reading:
user:
gold:
default: 50
name: 金币
在 Java 类中如何使用:
在 Spring Boot 项目中,只要是类 @Component
注解使用的类,直接对成员变量使用 @Value
注解就可以了。
例子:
Value("${reading.user.gold.default}")
private String defalut;
@Value("${reading.user.gold.name}")
private String name;
说明:目前测试使用 @ConfigurationProperties(prefix="reading.user.gold")
的方式无效。
扩展:
@Autowired
private Environment env;
可以使用 Environment
提供的 env.getProperty("mysql.lyresource.url")
方法提取配置文件的信息。
(2)application.properties
Spring Boot 默认的配置文件位于根路径下,叫 application.properties,即我们不用声明配置文件的位置和名字,就可以被引入到类中来,例如:
我们在类路径下新建一个文件,名为 application.properties,内容是
host=127.0.0.1
port=8080
在我们须要使用 host 的地方,比如成员变量,方法名参数上使用 @Value
注解,就可以注入配置文件的值了。
@Value("${host}")
private String host;
@RequestMapping("/showPerson")
public Person showPerson(@Value("${port}") String port) {
return new Person("李威" + host + ":" + port, "121088825@qq.com");
}
如果我们非要起另外的名字,应该怎么写呢?很简单,只要在类上写注解 @PropertySource("classpath:jdbc.properties")
就可以了。