1.@Service
注解自动将类注解为bean,id为类名的第一个字母小写的id。如:
public interface DataDao{
}
//bean的id为imgDataDao
@Service
public class ImgDataDao implements DataDao{
}
同时@Service也可以指定bean的ID。
2. @Autowired
重点@Autowired按byType(类型)自动注入,当一个接口有多个实现类时,@Autowired需要配合@Qualifier指定具体实现类,否则会报错。
@Autowired
@Qualifier("imgDataDao")
private DataDao yy;
3.@Resource
@Resource按byName自动注入,能完全满足一个接口有多个实现类,如:
@Resource
//name必须imgDataDao
private DataDao imgDataDao;
//name必须payDataDao
@Resource
private DataDao payDataDao;
当不想用默认名,如imgDataDao,可以这样写:
@Resource(name="imgDataDao")
private DataDao xx;
网友评论