引发背景:
最近在上班途中,听到面试官在问一道题,注解@Resource和@Autowired都是bean的注入使用,两者有什么区别?引起了小小的思考,本着刨根问底的好奇心,下面对两个注解分别进行解释。
@Resource
Resource是有jdk提供,包名为javax.annotation.Resource;
@Resource默认按照ByName自动注入的。
public class UserService {
@Resource
private UserDao userDao;
@Resource(name="studentDao")
private StudentDao studentDao;
@Resource(type="TeacherDao")
private TeacherDao teacherDao;
@Resource(name="manDao",type="ManDao")
private ManDao manDao;
}
1、在启动Spring时,首先要启动容器 |
2、在启动Spring容器时,会默认寻找容器扫描范围内的可加载的bean,然后查找哪些bean上的属性和方法有@resource注解。 |
3、找到@Reso |