2012-05-10 10 views
3

PropertyPlaceholderConfigurerがXMLファイルを使用している場合、Spring @Configurationが処理するすべてのBeanのプロパティのソースとして使用できますか?以上によりSpring @Configurationのプロパティ

@Configuration 
@ComponentScan(value = { "x.y.z }) 
@ImportResource({ "classpath:remote-properties/applicationContext.xml",}) 
public class CoreConfiguration implements TransactionManagementConfigurer { 

    @Resource(name = "com.c.h.c.PropertyPlaceholderConfigurer") 
    public PropertyPlaceholderConfigurer pp; 

    @Bean 
    public PropertyPlaceholderConfigurer propertiesFactoryBean() { 
     return pp; 
    } 
} 

、それはppに私のブレークポイントにヒットすることはありません。 @Beanとそのメソッドを削除すると、ppが入力されていることが確認できます。だから私はどのように私は構成でそれを登録することができますか?

+0

http://forum.springsource.org/showthread.php?107194-PropertyPlaceholderConfigurer-and-javconfig –

+0

@Robを見直しましたか?プロパティファイルを直接使用することはできません。そのアプリケーションコンテンツからPropertyPlaceholderConfigurer Beanを使用するか、2番目のプロパティファイルのURLを持つプロパティファイルをロードしてから、そのプロパティファイルをロードする必要があります。私はそれがばかげているのは分かっていますが、それは私が複数の環境問題を解決しているチームです。 – AHungerArtist

+0

@Robさらに、@Configurationクラスだけでなく、 '@ComponentScan'が '@Service'アノテートされたクラスの魔法を実行するときに利用できるようになりました( '@Value'アノテーションは正しく入力されます)。 – AHungerArtist

答えて

3

私はかなり馬鹿だと感じます。私は@Value注釈の1つに右中括弧が足りませんでした。私はそれを何度見て、それを見逃したのか想像もできません。

アプリのコンテキストでPropertyPlaceHolderConfigurerを使用すると、あなたは@ImportResourceをオンにしても問題なく動作します。あなたは@Resourceとしてそれを持ち込む必要はありません。