2016-07-12 9 views
0
@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ファイルにあります。 systemProperties.Butからプロパティ "artist"を取得できません。環境beanをインスタンス化するために@autowiredを使用すると取得できます。どうすれば処理できますか?システムプロパティを使用してSpring ELと@Value()を使用してプロパティを取得する方法

+0

システムプロパティ( '-Dname = value')、環境(' export name = value')、または 'test.properties'ファイルの中にありますか? – OrangeDog

+0

test.propertiesファイルにあります。 –

+0

これは 'systemProperties'ではないので動作しません。 – OrangeDog

答えて

0

あなたは何もする必要はありません。春はプロパティが最初にシステムプロパティをチェックインし、次にクラスレベルのプロパティをチェックし、次にプロパティプレースホルダを使用してプロパティを初期化します。

システムプロパティに何らかの設定がある場合は、@Value("${artist}")を試してみてください。

関連する問題