关于@Autowired使用注意点

@Autowired是按类型进行装配的,那么我一个接口UserInterface,有多个实现类AImpl(@service(name="userInterface1")),BImpl(@service(name="userInterface2")....这些实现类我都加入了Spring容器,当我在一个类中使用如下语句:

@Autowired
private IUserInterface userInterface;
1.首先加上注解@Qualifier来区分不同的实例
例如:@Qualifier("userInterface1")

2.通过@Resource(name="userInterface1")来区分不同实例

3.让userInterface与AImpl类对象名称保持一致(此方法不推荐)
@Autowired
private IUserInterface userInterface1;
@Autowired
private IUserInterface userInterface2;
 
 
时间: 2024-08-11 19:53:00

关于@Autowired使用注意点的相关文章

Bean装配之@Autowired注解

@Required(不常用) @Autowired(常用) 下面用例子解释以上内容: @Autowired注解的三种方式如下,第一种是直接在属性名上加注解,这样就可以不用在写set方法进行注入,这种方式与set方式作用一样:第二种是在set方法上加注解:第三种是在构造器上加注解 测试代码如下: xml配置文件正常即可: 图解:可以在当前类中,声明ApplicationContext的引用,然后可以用@Autowired进行注解,这时候可以在当前类中得到这个容器,并且可以使用这个容器了 图解: 数

Spring注解@Component、@Repository、@Service、@Controller @Resource、@Autowired、@Qualifier 解析

URL:http://www.ulewo.com/user/10001/blog/273 我们在使用spring的时候经常会用到这些注解,那么这些注解到底有什么区别呢.我们先来看代码 同样分三层来看: Action 层: package com.ulewo.ioc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Co

@Autowired注解(转)

5.6.4 @Autowired注解 自Spring诞生以来,的autowire和dependency-check属性便一直存在.当JDK 5.0正式发布后,Spring针对dependency-check属性引入了对应的@Required.同理,它针对autowire属性引入了对应的@Autowired注解,其定义摘录如下. Java代码 收藏代码 @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.CONSTRUCTOR, Ele

Spring中 @Autowired标签与 @Resource标签 的区别

Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource. @PostConstruct及@PreDestroy. 1. @Autowired    @Autowired是Spring 提供的,需导入    Package:org.springframework.beans.factory.annotation.Autowired;    只按照byType 注入.2. @Resource    @Resource默认按 byNam

@Autowired和@Resource装配

从Spring2.5开始就可以使用注解自动装配Bean的属性.使用注解自动装配与XML中使用autowire属性自动装配并没有太大差别. Spring容器默认禁用注解装配.所以在基于注解自动装配,我们需要在Spring配置中启用它.如:<context:annotation-config/> <context:annotation-config/>他的作用是向Spring容器注册 AutowiredAnnotationBeanPostProcessor(@Autowired) Co

Spring中 @Autowired标签与 @Resource标签 的区别(转)

Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource. @PostConstruct及@PreDestroy. 1. @Autowired    @Autowired是Spring 提供的,需导入    Package:org.springframework.beans.factory.annotation.Autowired;    只按照byType 注入.2. @Resource    @Resource默认按 byNam

@Autowired

1. Spring框架中进行注入式,使用@Autowired. @Autowired可以对成员变量.方法和构造函数进行标注,来完成自动装配的工作,这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier[1]使用: 也可以通过 @Autowired 对方法或构造函数进行标注,如果构造函数有两个入参,分别是 bean1 和 bean2,@Autowired 将分别寻找和它们类型匹配的 Bean,将它们作为 CountryService (B

@autowired和@resource的区别

@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型.所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略.如果既不指定name也不指定type属性,这时将通过反射

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

原创整理不易,转载请注明出处:Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 代码下载地址:http://www.zuidaima.com/share/1772661373422592.htm 本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifi

@Autowired 和@Resource区别

二者都可以用在bean的注入时,但是@Autowired是spring提供的注解,而@Resource是javax包中的. 默认情况下,@Autowired注入规则是byType,通过类型注入:当然,配合@Qualifier注解可以实现byName注入:默认情况,他要求依赖对象必须存在,如果为null,则需要制定required属性为false. @Resource默认注入规则是byName,同时,可以通过type属性,通过byType注入.如果找不到,或者找到多个都会抛出异常. autowir