Spring引导从bean读取属性

时间:2018-02-25 14:47:50

标签: spring-boot properties

我找到了一个spring boot示例代码,其中的属性直接用@Value注入。

关键是这些属性来自一个实际上不存在于代码中的bean。

注释有这方面:

@Value ("#{envPC['desktop.url']}")
private String url = "";

所以我有几个问题: 1 - 如何定义env bean? 2 - 在定义env bean时,如何为以下引用调节正确的结构:desktop.url,desktop.port ....

我希望问题清楚。

提前致谢

2 个答案:

答案 0 :(得分:0)

在Spring上下文中隐式定义了环境bean。 Spring将来自多个源的属性收集到此bean中:JVM选项,通过@PropertySource添加的属性文件等。

它也可以像任何其他bean一样注入:

@Autowired
private org.springframework.core.env.Environment environment;

更多细节可以在https://docs.spring.io/或在这篇好文章中找到:http://www.baeldung.com/properties-with-spring

答案 1 :(得分:0)

即使我使用@Configuration属性公开一个@Configuration(“envPC”)bean,我也会得到一个关于索引的SpEL异常,似乎是不允许的:'desktop.url'