首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果byName失败,则将缺省bean设置为自动连接

如果byName失败,则将缺省bean设置为自动连接
EN

Stack Overflow用户
提问于 2016-04-29 00:22:59
回答 1查看 91关注 0票数 0

我有许多IO类,它们都需要PKI信息(密钥和信任库)自动连接到它们中,以便它们可以建立连接。目前我们在所有地方都使用相同的PKI信息,但我们最终可能需要不同的PKI用于不同的接口。

出于这个原因,我希望能够在每个接口中使用@autowire,允许每个PKI有一个唯一的名称,如果我想要唯一的PKI,我可以稍后决定通过xml注入该名称,但如果找不到自动配置名称,也可以让spring默认自动创建我的单个‘主’PKI信息(因为我还没有需要定义一个唯一的PKI bean,而不是该实例的默认值)。

我相信,如果我只有一个Keystore bean,这将非常好地工作,但是如果我有两个Keystore bean,我不确定会发生什么。

假设我有三个地方自动挂载我的密钥库,名称分别为foo、bar和baz。我最初注册了一个keystore bean,我想所有人都会得到这个全局bean,而不管byName是什么,因为只有一种类型存在。

然后,我添加了一个名为foo的keystore bean,它应该自动连接到设置了byName=foo的keystore。但是,我如何确保bar和baz密钥库仍然知道加载我的“默认”密钥库?

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 00:29:04

如果我没理解错的话,应该是这样的。

代码语言:javascript
运行
复制
public interface Keystore{}

@Component("keystoreImplFirst")
public class KeystoreImplFirst implements Keystore{}

@Component("keystoreImplSecond")
public class KeystoreImplSecond implements Keystore{}

然后用法:

代码语言:javascript
运行
复制
@Autowired
@Qualifier("keystoreImplFirst")
Keystore keystore;

您也可以使用@Resource注释,但请记住,名称将根据您的变量名称进行解析。你可以在LINK找到更多的解释和例子

代码语言:javascript
运行
复制
@Resource
Keystore keystoreImplFirst
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36920325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档