Spring配置:我创建了2个bean,引用了相同的类但不同的数据库会话。
<bean id="abc1" class="abc">
<bean id="abc2" class="abc">
现在有没有办法将id为“abc1”的bean设置为用于自动装配的默认bean,并在像这样明确提到时使用abc2进行自动装配:
@Autowiring
@Qualifier("abc2")
private abc obj;
解决方案:
<bean id="abc1" class="abc" primary="true">
使abc1默认为自动连接。
为了创建abc2的实例,我们可以使用:
@Autowired
@Qualifier("abc2")
private abc obj;
如果跳过限定符注释,Spring将查找与私有成员同名的bean。例如:
@Autowired
private abc abc1; //Spring will search for a bean with id="abc1"
这是您可以使用abc1
作为默认值。
如果您不想让Spring搜索特定的bean,那么您可以触发限定符,然后Spring将不关心如何调用成员,而是将其值分配给引用具有与限定符注释中指出的id相同的bean:
@Autowired
@Qualifier("abc2")
private abc theNameDoesNotMatter;
xml的注释或属性正是用于此目的。以下是相同的详细信息。这里有很好的记录。
http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Primary.html
所以如果你提到<代码>
问题内容: 我有以下定义。 在我的bean定义中,我有两个相同类型的bean 如果有所不同,则从另一个xml文件导入第二个bean。它们也设置了不同的属性。为什么spring不会抛出错误,因为已经定义了2个相同类型的bean。它是否使用变量名,因为它们与bean id匹配。dao是不同的,如果我对两个不同的bean使用@Qualifiers,则功能可以按预期工作。 这是一个更简洁的版本。我没有考虑
在Springboot中有两个不同的@RestController使用不同的MappingJackson2HttpMessageConverter吗?...或者MappingJackson2HttpMessageConverter对于Spring Boot应用程序中的所有@RESTController是通用的吗? 基本上,目标是使用不同的MappingJackson2HttpMessageConv
假设我有以下几点 我无法指定要在每个子类中使用的服务实现。我已经考虑过使用@Qualifier,但是我必须在每个子类中重新声明属性并在那里使用它,并且希望它覆盖父类。 这些类的目的是同时提供API的两个版本。因此,这两个版本将同时处于活动状态。 从Spring是如何注入豆子的角度来看,这确实是一种反模式,所以我对其他方法持开放态度。
目前,我有一个类分数,它允许我用三种不同的方式创建分数 对于一个整数,在这种情况下,给定的整数将是分子,分母将设置为1 有2个整数,分子和分母 最后一种方法是解析一个字符串,该字符串必须与REGEX-?\d/[1-9]\d* gcd将尽可能减少生成的分数。 我现在想实现的是,具有相同分子和分母的分数实例具有相同的引用例如。 应该返回true。 我研究了一些关于泛型和边界的章节,但我不确定这是否是我
有人成功地在Spring Boot应用程序中配置了两个具有不同数据源的hikari连接池吗?如何使用application.properties来完成?
我正在使用java。util。ServiceLoader创建轻量级插件框架。 我目前正在努力解决如何拥有多个具有相同FQN的实现类。我想在类路径上拥有同一个插件的两个副本,并且可以访问META-INF/services目录中给出的两个实现类。 以下是一些简单的eclipse项目,它们说明了我的意思:https://docs.google.com/open?id=0B4MxFm-ACB3IUmswN