@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方法上。