使用@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`时,Spring会自动查找与所需类型匹配的bean,并将其注入到相应的位置。如果找到多个匹配的bean,可以通过指定`@Qualifier`来明确选择一个特定的bean。默认...
然而,这两个注解在具体使用时有一些关键性的区别。 `@Autowired`是Spring框架自带的一个注解,主要用于自动装配bean。它主要基于类型匹配,Spring会尝试找到与目标字段或方法参数类型相同的bean来注入。如果找到多...
6. **注解与XML配置的结合**:在Spring 4中,`@Autowired`可以与XML配置一起使用。你可以在XML中定义Bean的配置,然后在Java类中使用`@Autowired`进行注入。这种混合模式提供了更大的灵活性。 7. **基于注解的配置*...
在使用XML配置的Spring应用中,`@Autowired`可以与XML配置结合使用。XML配置可以定义bean的依赖关系,而`@Autowired`可以作为补充,处理那些没有在XML中显式声明的依赖。 ### 9. 总结 `@Autowired`是Spring框架中的...
- **自动装配候选列表**:可以使用`@Autowired`注解的`@Qualifier`注解的`value`属性,提供一个bean的名称列表,Spring会尝试从列表中找到匹配的bean。 ### 4. 配置控制 - **@Autowired注解的可选性**:使用`...
@Resource 和 @Autowired 的区别 在 Spring 框架中,@Resource 和 @Autowired 是两种常用的依赖注入方式,但是它们之间存在着一些关键的区别。 首先,让我们来了解 @Autowired 注解。@Autowired 是 Spring 框架...
在实际开发中,结合使用`HibernateDaoSupport`和`@Autowired`,我们可以快速构建出健壮且易于维护的DAO层,同时充分利用Spring的IoC容器提供的各种优势。对于`自定义HibernateDaoSupport`这个文件,可能包含了开发者...
在Spring配置中,我们可以通过`@Configuration`和`@Bean`进一步定制Bean的创建和装配过程,与`@Autowired`和`@Resource`配合使用,实现更加灵活的依赖注入。 总之,`@Autowired`和`@Resource`都是Spring框架中的...
Spring 依赖注入:@Autowired,@Resource 和@Inject 区别与实现原理 Spring 依赖注入是指在应用程序中将对象之间的依赖关系自动装配的过程。Spring 框架提供了多种依赖注入方式,包括 @Autowired、@Resource 和@...
Spring使用@Autowired为抽象父类注入依赖代码实例 Spring框架中,使用@Autowired注解可以将依赖项注入到Bean中,但是当我们需要将依赖项注入到抽象父类时,会遇到一些问题。如果我们直接使用@Autowired注解在抽象...
了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 Spring 提供的注解,需要导入 org.springframework.beans.factory.annotation.Autowired 包。它可以在字段和 setter 方法上使用。如果同时在...
在Java配置方式下,`@Autowired`的使用变得越来越普遍,尤其是在Spring Boot中。本篇文章将深入探讨`@Autowired`的多种用法以及其背后的实现机制。 ### @Autowired注解的用法 1. **构造函数注入**: ```java ...
Intellij IDEA如何去掉@Autowired 注入警告的方法 在本篇文章中,我们将探讨如何在...去掉@Autowired 注入警告的方法可以使用构造器注入或Setter注入,避免使用Field注入,并使用Lombok提供的注解来简化我们的代码。
然而,在使用 Spring AOP 时,可能会导致@Autowired 依赖注入失败。本文将详细介绍因 Spring AOP 导致@Autowired 依赖注入失败的解决方法。 一、问题描述 在使用 Spring AOP 时,可能会遇到Autowired 依赖注入失败...
接下来,我们将深入探讨`@Autowired`的工作原理、使用场景以及相关的最佳实践。 ### 1. `@Autowired`的基本用法 `@Autowired`注解可以用于字段、方法和构造函数,表明Spring容器会在运行时自动为这些成员提供合适...
我们使用 @Autowired 注解将 UserService 注入到 ManagerService 中。 OURCE CODE ANALYSIS ------------------- 在我们的例子中,我们可以看到 AutowiredAnnotationBeanPostProcessor 是如何工作的。首先,它会对...
这意味着,你可以在这些位置使用`@Autowired`来指示Spring进行自动装配。 `@Retention`元注解则决定了注解的保留策略。`@Autowired`的`@Retention`设置为`RetentionPolicy.RUNTIME`,意味着该注解会在运行时仍然...
自定义标签中@Autowired的属性为null 解决办法:两步 1.新建一个类SpringContext,实现接口ApplicationContextAware; 2.spring.xml中添加 3.使用SpingContext.getBean("bean名");获取
在 SpringBoot 多线程处理任务中无法使用 @Autowired 注入 bean 的问题,可以通过创建一个工具类来解决,这个工具类可以用于获取 bean 对象,从而解决多线程处理任务中无法使用 @Autowired 注入 bean 的问题。
在Spring框架中,@Autowired不仅提供了方便的依赖注入,还与其他注解(如@Service、@Repository、@Component、@Controller等)一起构成了强大的组件模型,使得应用程序的组件更加松耦合,易于测试和维护。...