要想知道怎样使用Annotation来配置bean就的知道命名空间:
一, 要先指定命名空间的名称
二, 指定命名空间的Schema文档样式文件的location
下面就是一个简单的基于Annotation配置的程序(在此程序中有多个userDao所以要指定是那个userDao)
注意:一般是使用@Resource不用@Autowired
package com.lbx.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import com.lbx.dao.UserDao;
import com.lbx.po.User;
import com.lbx.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void init(){
System.out.println("UserServiceImpl.init()");
}
@Override
public void add(User user) {
userDao.add(user);
}
public UserDao getUserDao() {
return userDao;
}
@Autowired//(required=false)
public void setUserDao(@Qualifier(value="userDao") UserDao userDao) { //也可以@Qualifier("userDao")
//@Qualifier一般都写在set方法上 @Qualifier(required=false)意思就是不必须的
this.userDao = userDao;
}
public void destroy(){
System.out.println("UserServiceImpl.destroy()");
}
}
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="userDao" class="com.lbx.dao.impl.UserDaoImpl"></bean> <bean id="userDao1" class="com.lbx.dao.impl.UserDaoImpl"></bean> <bean id="userService" class="com.lbx.service.impl.UserServiceImpl"> </bean> </beans>