1

ステートフルなプロトタイプ Bean を作成する必要があります。つまり、コンストラクターでパラメーターを取得します。

@Configuration を使用してその Bean を作成しようとしましたが、パラメーター化されたコンストラクターを使用すると機能しないことがわかりました...

渡したいパラメーターはSpring Beanではないことに注意してください...それらは単純なPOJOです...したがって、自動配線できません。

だから、これが私がやりたいことです -


@Configuration
public class MyClassFactory {

@Bean
public MyClass getMyClass(Pojo1 pojo1, Pojo2 pojo2) {

    return new MyClass (pojo1, pojo2);
}

}

@Scope("PROTOTYPE")
public class MyClass {

public MyClass(Pojo1 pojo1, Pojo2 pojo2) {
...
}

@Autowired SomeService1 service1;
@Autowired SomeService1 service2;

...

}

もちろん、プロトタイプ Bean にするのではなく、MyClass の applicationContextAware を作成し、そこからサービスを取得することもできます...しかし、上記のパターンが許可されていない理由が不思議でした...

4

0 に答える 0