2

この基本的な質問に対処してください。

以前は、そのクラスのキー/値形式を使用してプロパティ (クラス変数) に値を指定できる @Autowired アノテーションを使用していました。

<bean id="class" class="a.b.c.Class" lazy-init="true">
        <property name="var1" value="${var1}" />
</bean>

クラスを、自動配線を必要としないコンポーネント スキャン オプション付きの @Component に変更しました。プロパティ変数を今すぐ追加するにはどうすればよいですか?

また、Junits の作成中にトラブルに巻き込まれたくありません。

ありがとう、

4

2 に答える 2

5

プロパティ ファイルからプロパティを考えている場合は@PropertySource@Value注釈を確認してください。

@Component
@PropertySource("classpath:myProps.properties")
public class MyComponent {

    @Value("${some.property}")
    private String valueFromProperty;

    // You can also use environment
    @Autowired
    private Environment env;

    public void someMethod() {
        String prop = env.getProperty("some.property");
        MyBean bean = new MyBean();
        bean.setProp(prop);
        return bean;
    }
}
于 2013-04-16T06:46:00.027 に答える
0

リファレンスで Spring の @Value アノテーションを見てください ( Chapter 4. IoC container )。

プロパティをロードする必要があります。

<beans>
   <context:property-placeholder location="classpath:/com/acme/your.properties"/>
</beans>
于 2013-04-16T06:45:30.260 に答える