0

私には状況があり、なぜそうなのかを理解しようとしています。シナリオは、Web サービスによって公開される操作を実装するクラス A があるというものです。オペレーションのリクエストごとに、A の新しいインスタンスが作成されます。全体がSpringによって内部的に管理されており、クラスAがWebサービスによってどの程度正確にインスタンス化されているかはわかりません。

今、実行時に値を挿入したいクラス変数があります

@Value("${someValue}") 文字列 someVariable

someValue はシステム プロパティとして定義されています。ただし、作成された各 Bean には、NULL として someVariable があります。

同じパッケージ内の @Configuration で注釈が付けられた別のクラスで同じことを試しましたが、変数がうまく解決されています。

したがって、@Value を介して注入する機能が、@Component、@Configuration-@Bean、XML 定義などの Bean の作成方法に依存するかどうかを考えています

4

1 に答える 1

0

あまり。実際には、コンポーネントスキャン Bean と xml 定義 Bean の両方で @Value を使用して値を注入できます。ただし、これに注意してください。どのxmlファイルを入れるかによって異なりますPlaceholder。コンテナごとに有効です。たとえば、applicationContext に配置すると、xxx-servlet.xml で作成された Bean は @Value で値を注入できません。

于 2013-03-28T07:11:57.847 に答える