`
star65225692
  • 浏览: 273452 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

@autowired与@qualifer的使用区别备忘

阅读更多

使用@Autowired注释进行byType注入,如果需要byName(byName就是通过id去标识)注入,增加@Qualifier注释
@Qualifer如果没有的话, 报的错如下:
No unique bean of type [org.springframework.transaction.PlatformTransactionManager] is defined: expected single matching bean but found 2: [transactionManager, jmsTransactionManager]

原因:
比如配置文件中有二个bean.
<bean id="jmsTransactionManager"
        class="org.springframework.jms.connection.JmsTransactionManager">
        <property name="connectionFactory"
            ref="advancedConnectionFactory" />breast
    </bean>
<bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource">
            <ref bean="cpcDataSource" />
        </property>
    </bean>
表面看起来是不同类型的类,但是由于在*Service里面注入的属性类型是PlatformTransactionManager.由于上面的二个bean都实现了这个接jquery中ajax异步时序问题

口.这样@autowired时,由于是bytype注入,就不能识别.此时就需要再加上@qualifer通过id去识别.


而如果没有使用@Service的话,报错如下:
No unique bean of type ..... expected at least 1 matching bean

分享到:
评论

相关推荐

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    当我们在字段、构造函数、方法或方法参数上使用`@Autowired`时,Spring会自动查找与所需类型匹配的bean,并将其注入到相应的位置。如果找到多个匹配的bean,可以通过指定`@Qualifier`来明确选择一个特定的bean。默认...

    (转)Spring中@Autowired注解和@Resource注解的区别

    然而,这两个注解在具体使用时有一些关键性的区别。 `@Autowired`是Spring框架自带的一个注解,主要用于自动装配bean。它主要基于类型匹配,Spring会尝试找到与目标字段或方法参数类型相同的bean来注入。如果找到多...

    SSH笔记-通过@Autowired配置注入关系

    6. **注解与XML配置的结合**:在Spring 4中,`@Autowired`可以与XML配置一起使用。你可以在XML中定义Bean的配置,然后在Java类中使用`@Autowired`进行注入。这种混合模式提供了更大的灵活性。 7. **基于注解的配置*...

    Spring使用@Autowired注解自动装配

    在使用XML配置的Spring应用中,`@Autowired`可以与XML配置结合使用。XML配置可以定义bean的依赖关系,而`@Autowired`可以作为补充,处理那些没有在XML中显式声明的依赖。 ### 9. 总结 `@Autowired`是Spring框架中的...

    Spring@Autowired注解与自动装配.rar

    - **自动装配候选列表**:可以使用`@Autowired`注解的`@Qualifier`注解的`value`属性,提供一个bean的名称列表,Spring会尝试从列表中找到匹配的bean。 ### 4. 配置控制 - **@Autowired注解的可选性**:使用`...

    【Java面试】@Resource 和 @Autowired 的区别.doc

    @Resource 和 @Autowired 的区别 在 Spring 框架中,@Resource 和 @Autowired 是两种常用的依赖注入方式,但是它们之间存在着一些关键的区别。 首先,让我们来了解 @Autowired 注解。@Autowired 是 Spring 框架...

    HibernateDaoSupport 与@Autowired

    在实际开发中,结合使用`HibernateDaoSupport`和`@Autowired`,我们可以快速构建出健壮且易于维护的DAO层,同时充分利用Spring的IoC容器提供的各种优势。对于`自定义HibernateDaoSupport`这个文件,可能包含了开发者...

    Spring In Action 使用@Autowired 和@ Resource 自动装配Bean

    在Spring配置中,我们可以通过`@Configuration`和`@Bean`进一步定制Bean的创建和装配过程,与`@Autowired`和`@Resource`配合使用,实现更加灵活的依赖注入。 总之,`@Autowired`和`@Resource`都是Spring框架中的...

    详解Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理

    Spring 依赖注入:@Autowired,@Resource 和@Inject 区别与实现原理 Spring 依赖注入是指在应用程序中将对象之间的依赖关系自动装配的过程。Spring 框架提供了多种依赖注入方式,包括 @Autowired、@Resource 和@...

    Spring使用@Autowired为抽象父类注入依赖代码实例

    Spring使用@Autowired为抽象父类注入依赖代码实例 Spring框架中,使用@Autowired注解可以将依赖项注入到Bean中,但是当我们需要将依赖项注入到抽象父类时,会遇到一些问题。如果我们直接使用@Autowired注解在抽象...

    Spring注解@Resource和@Autowired.doc

    了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 Spring 提供的注解,需要导入 org.springframework.beans.factory.annotation.Autowired 包。它可以在字段和 setter 方法上使用。如果同时在...

    @Autowired 注解是如何实现的?(csdn)————程序.pdf

    在Java配置方式下,`@Autowired`的使用变得越来越普遍,尤其是在Spring Boot中。本篇文章将深入探讨`@Autowired`的多种用法以及其背后的实现机制。 ### @Autowired注解的用法 1. **构造函数注入**: ```java ...

    Intellij IDEA如何去掉@Autowired 注入警告的方法

    Intellij IDEA如何去掉@Autowired 注入警告的方法 在本篇文章中,我们将探讨如何在...去掉@Autowired 注入警告的方法可以使用构造器注入或Setter注入,避免使用Field注入,并使用Lombok提供的注解来简化我们的代码。

    因Spring AOP导致@Autowired依赖注入失败的解决方法

    然而,在使用 Spring AOP 时,可能会导致@Autowired 依赖注入失败。本文将详细介绍因 Spring AOP 导致@Autowired 依赖注入失败的解决方法。 一、问题描述 在使用 Spring AOP 时,可能会遇到Autowired 依赖注入失败...

    Spring @Autowired

    接下来,我们将深入探讨`@Autowired`的工作原理、使用场景以及相关的最佳实践。 ### 1. `@Autowired`的基本用法 `@Autowired`注解可以用于字段、方法和构造函数,表明Spring容器会在运行时自动为这些成员提供合适...

    Spring Ioc源码分析系列--@Autowired注解的实现原理.doc

    我们使用 @Autowired 注解将 UserService 注入到 ManagerService 中。 OURCE CODE ANALYSIS ------------------- 在我们的例子中,我们可以看到 AutowiredAnnotationBeanPostProcessor 是如何工作的。首先,它会对...

    12 @Autowired是如何工作的?-Spring注解源码深度揭秘-慕课专栏1

    这意味着,你可以在这些位置使用`@Autowired`来指示Spring进行自动装配。 `@Retention`元注解则决定了注解的保留策略。`@Autowired`的`@Retention`设置为`RetentionPolicy.RUNTIME`,意味着该注解会在运行时仍然...

    自定义标签中@Autowired的属性为null

    自定义标签中@Autowired的属性为null 解决办法:两步 1.新建一个类SpringContext,实现接口ApplicationContextAware; 2.spring.xml中添加 3.使用SpingContext.getBean("bean名");获取

    详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决

    在 SpringBoot 多线程处理任务中无法使用 @Autowired 注入 bean 的问题,可以通过创建一个工具类来解决,这个工具类可以用于获取 bean 对象,从而解决多线程处理任务中无法使用 @Autowired 注入 bean 的问题。

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    在Spring框架中,@Autowired不仅提供了方便的依赖注入,还与其他注解(如@Service、@Repository、@Component、@Controller等)一起构成了强大的组件模型,使得应用程序的组件更加松耦合,易于测试和维护。...

Global site tag (gtag.js) - Google Analytics