我们springboot项目有自己默认的配置文件,一般地由application.yml和bootstrap.yml组成,前者是模块的配置,后者是微服务的配置,后台比前者先被框架加载。
我们有时需要自己定义配置,可能不是简单的字符串,它可能是一个对象,对象里有具体的配置段,它也是application.yml的一部分,你可以把自己的代码添加上,当然你也可以新建全新的文件。
例如,有一个配置由name和version组成,我们在application.yml里可以把它定义成project元素下面的,这里的project叫前缀,我们在定义配置实体时用来修饰它。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package test.lind.javaLindDay.utilDemo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties (prefix = "project" )
@PropertySource (value = "classpath:config.yml" )
public class MyConfig {
private String version;
private String name;
public String getVersion() {
return version;
}
public void setVersion(String version) {
this .version = version;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
}
|
而其中的注解@component表示可以使用@Autowired注入!如果配置里只是一个字符串的项,我们也可以使用@Value来进行注入,如下代码展现了两种
注入的方式。
1
2
3
4
5
6
7
8
9
10
11
|
@RestController
public class HomeController {
@Autowired
MyConfig config;
@Value ( "${lind.name}" )
String app;
@RequestMapping ( "/" )
public String Index() {
return "HOME=" + config.getName() + "app=" + app;
}
}
|
总结
以上所述是小编给大家介绍的springboot如何读取自定义配置项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/lori/p/8990599.html