在使用注解的时候,首先得在配置文件bean.xml中添加命名空间:
xmlns:context="http://www.springframework.org/schema/context"
然后在xsi:schemaLocation中添加:
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
再次引入:
<context:annotation-config/>
bean.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config/> <bean id="userDAOImpl" class="com.test.dao.impl.UserDAOImpl"></bean> <bean id="userDAOImpl2" class="com.test.dao.impl.UserDAOImpl"></bean> <bean id="userService" class="com.test.service.UserService"></bean> </beans>
UserService.java
package com.test.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.test.dao.UserDAO;
import com.test.model.User;
public class UserService {
private UserDAO userDAO;
public void add(User user) {
userDAO.save(user);
}
public UserDAO getUserDAO() {
return userDAO;
}
// Autowired默认按类型by type,如果想用byName,使用Qulifier
// 如果beans.xml中有多个UserDAOImpl配置,在这里用Qualifier进行标明
@Autowired
public void setUserDAO(@Qualifier("userDAOImpl")UserDAO userDAO) {
this.userDAO = userDAO;
}
}