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

在变成过程中经常遇到一个实现类有许多借口的问题,当一个借口有多个实现类的时候,@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方法)必须和

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

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

你可能感兴趣的:(springmvc,spring,mvc)