1.@Autowired
一个类实现一个接口,就可以用@Autowired
举例:
public interface Animal {
public String getName();
}
@Service
public class CatService implements Animal {
@Override
public String getName() {
return "猫";
}
}
新的类中
@Autowired
Animal animal;
2.@Resource
public interface Animal {
public String getName();
}
@Service
public class CatService implements Animal {
@Override
public String getName() {
return "猫";
}
}
@Service
public class DogService implements Animal {
@Override
public String getName() {
return "狗";
}
}
新的类中
@Resource(name = "dogService")
//或者@Resource(name = "catService")
Animal animal;
也可以使用
@Qualifier("catService")
@Autowired
Animal animal;
一般来说,我都是使用
@Autowired
当然,如果像这种一个接口被两个类实现的时候,就可以使用
@Resource
比方说写支付功能的时候分别写微信和支付宝支付,一个接口对应两个实现类,就可以用@Resource了
以上内容只是我的一点理解,不全,但是比较容易理解。