spring 自动装配 autowire

<bean name="userDAO2" class="com.bjsxt.dao.impl.UserDAOImpl">
  	<property name="daoId" value="2"></property>
  </bean>
	
  <bean name="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl">
  	<property name="daoId" value="1"></property>
  </bean>
<bean id="userService" class="com.bjsxt.service.UserService" scope="prototype" autowire="byName">
  </bean>

autowire有2个属性比较常用  byName和byType, byName就是通过bean的名字来注入bean ,注入的bean的名字取决与set方法的名字  而不是那个对象的名字,如下图  注入的是userDao2,而不是userDao;byType就是按照对象类型来注入,好理解,就是不能出现2个bean有相同的类型;

        private UserDAO userDAO;  
	public void add(User user) {
		userDAO.save(user);
	}
	public UserDAO getUserDAO() {
		return userDAO;
	}
	public void setUserDAO2(UserDAO userDAO) {
		this.userDAO = userDAO;
	}


你可能感兴趣的:(autowire)