2
は私が持っている:高度な春@Qualifier
@Component
class MyDecorator{
private Cache cache;
/*
some wrapped methods like get put remove
*/
}
それは異なるキャッシュと異なる場所でMyDecorator
をautowireすることは可能ですか?
私はこのようなXMLを設定することができます。
<bean id="id1" class="MyDecorator ">
<property name="cache" value="Cache1" />
</bean>
<bean id="id2" class="MyDecorator ">
<property name="cache" value="Cache2" />
</bean>
しかし、唯一のアノテーションで、そこのXMLコンフィグを添加することなく、より優雅な方法ですか?
正しいコードは、2つのBean adaptedCache1とadaptedCache2 を生成するspecsに従って
@Configuration
public class AppConfig {
@Bean
public MyAdapter adaptedCache2() {
return new MyAdapter (cache1);
}
@Bean
public MyAdapter adaptedCache2() {
return new MyAdapter (cache2);
}}
であるべきであり、今は、Java構成で修飾子adaptedCache1とadaptedCache2
私はMyDecoratorが、私はそれは良いアイデア – Diyko
@Diykoであるかどうかわからないんだけどキャッシュを拡張するために持っている必要があり、この場合の理解と:これはどのように*デコ*ではありませんパターンは機能しますか?ラップされたオブジェクトと同じインタフェースを拡張/実装しますか?それ以外の場合は、*アダプタ* ... –
私はあなたが意味するものを持っていると思われる – Diyko