java - Spring 配置 : 2 beans with same class reference

标签 java spring spring-mvc annotations autowired

Spring-configuration:我创建了 2 个 bean,引用相同的类但不同的数据库 session 。

<bean id="abc1" class="abc">
<bean id="abc2" class="abc">

现在有什么方法可以将 ID 为“abc1”的 bean 设置为 Autowiring 的默认 bean,并在像这样明确提及时使用 abc2 进行 Autowiring :

@Autowiring
@Qualifier("abc2")
private abc obj;

解决方案:

<bean id="abc1" class="abc" primary="true">

使 abc1 默认为 Autowiring 。

为了创建 abc2 的实例,我们可以使用这个:

@Autowired
@Qualifier("abc2")
private abc obj;

最佳答案

@primary注释或 primary xml 的属性正是用于此目的。这是相同的详细信息。这里有很好的记录。

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/Primary.html

所以如果你提到 <bean id="abc1" class="abc" primary="true"/>它将优先于 abc2 , 你可以使用 @Qualifier对于 abc2无论你需要什么。希望这会有所帮助。

关于java - Spring 配置 : 2 beans with same class reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28717226/

相关文章:

Java从终端运行问题

java - 无法导入 SpringApplicationContextLoader

java - 在 Spring 中使用抽象类作为实例变量

java - 无法从 Base64 身份验证、spring security 获取登录名和密码

java - 如何使字母 "A"在 Lucene 的 StandardAnalyzer 中成为异常(exception)?

java - 如何优化 Mongodb 的查询

java - 尝试在 Tomcat 中部署 GWT 项目以有问题的类错误结束

java - 使用 IntelliJ IDEA 配置 Spring MVC

java - 将模型传递给包含的 JSP?

java - 未找到 HTTP 请求与 URI 的映射 [Java 注释配置]