3

私はこれまで Spring を使用したことがなく、このような構成オブジェクトに出くわしました。

public class Config {

@Value("${app.module.config1}")
private String config1;

@Value("${app.module.config2}")
private String config2

...

public String getConfig1() {
    return config1;
}

...

ここで何が起こっているのか誰でも説明できますか? これはある種のコード インジェクションであると推測していますが、これらの値がどこから来ているのかわかりません!

4

2 に答える 2

4

これらを使用すると、プロパティ ファイル (システムまたは宣言されたプロパティ) から値を変数に直接挿入できます。util:properties タグを使用すると、このようなものをapplicationContext.xml

 <util:properties id="message" location="classpath:com/your/program/resources/message.properties" />

一部のコンテンツを含む「message.properties」という名前のプロパティ ファイルを指定します。

 application.hello.message = Hello World!

次に、Java ソース ファイルで、 @Valueアノテーションを使用して、このプロパティ ファイルから直接値を挿入します。

 @Value("#{message['application.hello.message']}")
 private String helloWorldMessage;
于 2012-10-19T04:43:18.187 に答える
3

@Value("${app.module.config1}")

app.module.config1これは、Spring フレームワークがJVM プロパティを検索しSystem.getProperties()、そのプロパティの値をconfig1そのクラスの属性に挿入する Spring 式言語の一部です。Spring 3.0.x の詳細については、このリファレンスを参照してください。現在のドキュメントについては、このリファレンスを参照してください。

于 2012-10-19T04:40:10.860 に答える