处理一个Spring bean /接口的几个实现
说我需要依赖Spring bean的几个实现 。 我有一个AccountService
接口和两个实现: DefaultAccountServiceImpl
和SpecializedAccountServiceImpl
。
-
这怎么可能(注入一个或另一个实现)在Spring?
-
以下注射使用哪种实施方案?
@Autowired private AccountService accountService;
广告。 1:您可以使用@Qualifier
注释或使用@Resource
自动assembly而不是@Autowired
,默认为字段名称而不是类型。
广告。 2:它将在运行时失败,说两个bean正在实现此接口。 如果您的某个bean另外使用@Primary
注释 ,则在按类型自动@Primary
时将首选。
@Autowired @Qualifier("impl1") BaseInterface impl1; @Autowired @Qualifier("impl2") BaseInterface impl2; @Component(value="impl1") public class Implementation1 implements BaseInterface { } @Component(value = "impl2") public class Implementation2 implements BaseInterface { } For full code: https://github.com/rsingla/springautowire/
- 如何在超时后取消任务?
- 通过ByteBuffer和CQL 3将Java对象序列化为Cassandra 1.2
- JSF(和PrimeFaces)如何将参数传递给ManagedBean中的方法
- 使用Kerberos身份validation从Java应用程序访问SharePoint网站
- 如何连接到远程服务器并使用Ant启动/停止在该特定服务器上运行的Tomcat?
- 如何将java类导入到Robot框架之类的库中
- Java 2D Game:repaint(); 使窗口变灰
- new BigDecimal(double)vs new BigDecimal(String)
- 如何生成一个n个随机正整数序列,它们加起来有些值?