@Component("userService").@Resource(name="userDao")

@Component("userService")
public class UserService {
        private UserDAO userDao;
        public void init() {
            System.out.println("init");
        }
        public  void add(User u) {
            userDao.save(u);
        }
        @Resource(name="userDao")
        public void setUserDao(UserDAO userDao) {
            this.userDao = userDao;
        }
  
        public UserDAO getUserDao() {
            return userDao;
        }
}

假定存在以上的类,

@Component("userService")转化为xml就是以下的意思:

<bean name="userService"  class="com.jk.service.UserService" />


在其下面某个属性@Resource(name="userDao")转化为xml就是以下的意思:

<bean name="userService"  class="com.jk.service.UserService" >
    <bean name="userDao"  class="com.jk.dao.impl.UserDAOImpl"  />
</bean>

@Component是作为一个资源在使用的,@Resource是作为一个行为在使用,所以@Resource一定要配置在set方法上。

原文地址:https://www.cnblogs.com/toSeeMyDream/p/5537611.html