0

@Configuration を使用して Bean を作成し、xml 構成で可能なように、他の Bean プロパティからそれらのプロパティを設定しています

@Configuration
public class AppConfig {

    @Bean
    public MyBean myBean(@Value("#{someObject.value}") double value) {
        MyBean myBean = new MyBean();
        myBean.setValue(value);
        return myBean;
    }

    @Bean
    public SomeObject someObject() {
        SomeObject someObject = new SomeObject();
        someObject.setValue(1.0);
        return someObject;
    }
}

ただし、セッターメソッドを使用する必要があるのは面倒で不必要です [eg. myBean.setValue(値)]。代わりに、次のようなものが必要です。

@Configuration
public class AppConfig {

    @Bean
    @MysticalPropertySetter(name="value", value="#{someObject.value}")
    public MyBean myBean() {
        return new MyBean();
    }

    @Bean
    @MysticalPropertySetter(name="value", value="1.0", type="java.lang.Double")
    public SomeObject someObject() {
        return new SomeObject();
    }
}

このようなことは可能ですか?どうもありがとう!!!

4

2 に答える 2

0

コンストラクタインジェクションはどうですか?

@Bean
public MyBean myBean(@Value("#{someObject.value}") double value) {
    return new MyBean(value);
}
于 2012-07-01T19:18:02.203 に答える
0

@Bean でアノテーションが付けられたファクトリ メソッドでは手動でオブジェクトを作成するため、このアプローチは不可能だと思いますが、Spring はそれ自体でインスタンス化された Bean にのみプロパティを注入できます。

于 2012-07-01T05:56:35.520 に答える