@Autowired注解和@resource注解的区别

@Autowired是通过类型进行装配的,如果多个name,则配合着@Qualifier使用。

eg:

public class UserService {
    @Autowired
    @Qualifier(name="userDao1")    
    private UserDao userDao; 
}


@resource注解由J2EE提供,
@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;
}


Spring属于第三方的,J2EE是Java自己的东西。使用@Resource可以减少代码和Spring之间的耦合