Spring MVC を使用しています。Controller クラスでは、 @Value アノテーションを使用して、プロパティ ファイルから取得した値を挿入したいと考えています。
@Value("${upload.dir}")
private String uploadDir;
そのため、プロパティ プレースホルダーをどこかに配置する必要があります。
web.xml は典型的なものです。
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/mvc-dispatcher-servlet.xml</param-value>
</init-param>
...
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/business-context.xml</param-value>
</context-param>
まず、プレースホルダーを business-context.xml に配置します。機能しません:「フィールドを自動配線できませんでした」。
次に、それを mvc-dispatcher-servlet.xml に入れました。動作します。
だから私はこれらの2つのコンテキストについて混乱しています.それらは同じものですか、それとも異なるものですか? business-content.xml で定義した Bean は自動接続できますが、@Value が機能しないためです。
長い「場所」プロパティがあるため、両方の xml ファイルにプレースホルダーを入れたくありません。また、business-context.xml は一部のジョブで使用されるため、省略できません。
business-context.xml で定義されたプレースホルダーを mvc-dispatcher-servlet.xml でも見えるようにする方法はありますか?