springmvc注解区分一个有多个实现类的借口

来源:互联网 发布:网络棋牌推广违法吗 编辑:程序博客网 时间:2024/06/06 19:07

在变成过程中经常遇到一个实现类有许多借口的问题,当一个借口有多个实现类的时候,@Autowired就会出现问题,解决办法:
1、通过增加@Qualifier(实现类的名字),MailStudentImpl类实现student接口如下:

@Autowired@Qualifier("GirlStudentImpl")private Student student;

2、也可以通过@Resource(name=”*“)装配,则编程更加简洁:

@Resource(name="GirlStudentImpl")private Student student;

自动装配:Ioc容器可以自动装配相互协作bean之间的关联关系。因此,如果可能的话可以自动让Spring通过检查BeanFactory中的内容类替我们制定bean的协作者。
自动装配需要满足两点:
1、bean2.java里面的属性名字必须和appliationContext.xml里面对应的bean id的名字相同,也就是private Bean3 bean3;这个bean3(对应的get,set方法)必须和

<bean id="bean3" class="com.test.model.Bean3"  parent="abstractBean">  <property name="name" value="Tom" />  <property name="password" value="123" /> </bean> 

这个bean3相同.否则不能自动装配,
2、在声明里配置一个属性,default-autowire=”byName”通过名字装配。

0 0