0
4

3 回答 3

0

我会尝试这样做:

@PropertySource("config/#{ systemProperties['app.env'] }.properties")

(来源:http ://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/expressions.html#expressions-beandef-xml-based )让我知道它是否被评估。

于 2014-02-21T19:43:06.760 回答
0

根据 Spring @Configuration 文档,您的RootConfig类必须从某个地方“引导”,下面是一些示例。

通过AnnotationConfigApplicationContext

AnnotationConfigApplicationContext context = 
       new AnnotationConfigApplicationContext();
ccontext.register(RootConfig.class);

通过Spring xml

<beans>
  <context:annotation-config/>
  <bean class="...RootConfig"/>
</beans>

您是否检查了引导的源RootConfig以查看是否PropertySourcesPlaceholderConfigurer已声明 a ?例如:

<context:property-placeholder/>
于 2014-02-22T06:17:08.653 回答
0
    @Configuration
@PropertySource("classpath:property.property")
public class ConfigClass {

    @Autowired Environment env;

    @Bean
    public Entity getEntity(){
        Entity entity = new Entity();
        entity.setUsername(env.getProperty("jdbc.username"));
        entity.setDriverClassName(env.getProperty("jdbc.driverClassName"));
        entity.setPassword(env.getProperty("jdbc.password"));
        entity.setUrl(env.getProperty("jdbc.url"));
        return entity;
    }

}
于 2015-06-13T19:49:37.180 回答