@Value
プロパティ ソースが のサブクラスである場合、を使用して Spring Bean に文字列の値を設定しようとしていますPropertyPlaceholderConfigurer
。誰でもこれを行う方法を知っていますか?
11477 次
3 に答える
15
古い質問ですが、まだ答える価値があります。元の と同じように式を使用できますPropertyPlaceholderConfigurer
。
app.properties
app.value=Injected
app-context.xml
<bean id="propertyConfigurer" class="MyPropertyPlaceholderConfigurer">
<property name="location">
<value>file:app.properties</value>
</property>
</bean>
ターゲット Bean で
@Value(value="${app.value}")
private String injected;
Spring 3.0.6 を使用してこのアプローチをテストしました
于 2011-10-27T10:05:29.553 に答える
0
PropertyPlaceHolderConfigurer
アノテーションでSPELを使用してロードされたプロパティにアクセスすることはできないと思います@Value
。それは素晴らしいことですが、私が知る限り、次善の策は次のように宣言することです。
<util:properties id="props" location="classpath:xxx/yyy/app.props"/>
と同じプロパティファイルを指すことができますPropertyPlaceHolderConfigurer
。
于 2011-03-18T23:34:07.157 に答える
0
プロパティ構文を使用して Bean 定義ファイルから値を明示的に注入することで、なんとか機能させることができましたか? 理論的には、それが機能する場合、同じ式を で使用できるはずです@Value
。@Autowired @Qualifier
さらに言えば、次の方法でも実行できるはずです
于 2009-11-16T16:40:47.907 に答える