如何使用系统特性通过使用Spring EL和@Value()来获取属性

时间:2016-07-12 10:29:54

标签: spring

@Configuration
@PropertySource("classpath:test.properties")
public class Config {
    @Bean
    public CompactDisc cd(@Value("#{ systemProperties['artist']}") String artist) {
       HotelCalifornia hotelCalifornia = new HotelCalifornia();
        hotelCalifornia.setArtist( artist);
        return hotelCalifornia;
    }

    @Bean
    public CdPlayer player(CompactDisc cd) {
        CdPlayer player = new CdPlayer();
        player.setCd(cd);
        return player;
    }
}

该属性位于test.properties文件中。我不能得到该物业&#34;艺术家&#34;来自systemProperties.But我可以得到它,如果我使用@autowired实例化环境bean。我怎么处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

你不必做任何事情。 spring识别属性首先它将检查系统属性,然后是类级属性,然后使用属性占位符初始化属性。

所以请尝试使用png_write_png(png_ptr,info_ptr, PNG_TRANSFORM_SWAP_ENDIAN,NULL); ,前提是您在系统属性中以某种方式设置了艺术家。