我有:
@Component
class MyDecorator{
private Cache cache;
/*
some wrapped methods like get put remove
*/
}
MyDecorator
是否可以使用不同的缓存在不同的地方自动装配?
我可以像这样配置 XML:
<bean id="id1" class="MyDecorator ">
<property name="cache" value="Cache1" />
</bean>
<bean id="id2" class="MyDecorator ">
<property name="cache" value="Cache2" />
</bean>
但是有没有更优雅的方式而不添加 xml 配置,只有注释?
正确的代码应该是
@Configuration
public class AppConfig {
@Bean
public MyAdapter adaptedCache2() {
return new MyAdapter (cache1);
}
@Bean
public MyAdapter adaptedCache2() {
return new MyAdapter (cache2);
}}
根据规范,将生成两个 beans 适配缓存 1 和适配缓存 2,现在我可以使用限定符适配缓存 1 和适配缓存 2 自动装配这些 bean