だが、私はこのような注釈付きBeanのプロパティのセッターを持っていると仮定しましょう:カスタマイズ@Autowired
public class Foo {
...
@Autowired
public void setBar(Bar bar) {
...
}
Springframeworkは、いつものように、一致Bar
プロパティを検索します。しかし、私はデフォルトのBean解決プロセスを横取りして、ちょっとした "魔法"を追加したいと思います。私はなかれラッパー豆のいくつかの種類を紹介し、このに解決するロジックを移動することができます知っているが、説明したように、私はリゾルバを使用して、より一般的な方法を好む
public interface SomeResolverInterface<T> {
public T resolve(Class<T> beanClass);
}
public class BarResolver implements SomeResolverInterface<Bar> {
@Override
public Bar resolve(Class<Bar> beanClass) {
if(someCondition) {
return someBean;
} else {
return anotherBean;
}
}
...
:私はこのようなリゾルバをご紹介したいと思いますFoo
を分解ロジックから完全に独立させる。
Springframeworkにはこのような方法がありますか?
+1 @Configurationについては、他のすべては遠くに見える –