概述
@Resource 注解代替spring @Autowire、@Qualifier
例子
UserDao
@Repository
public class UserDao implements IUserDao {
public UserDao(){
System.out.println("UserDao默认构造方法!");
}
public void save(String username,String password){
System.out.println("UserDao 保存 "+username+","+password+" 成功!");
}
}
UserDao2
@Repository
public class UserDao2 implements IUserDao {
public UserDao2(){
System.out.println("UserDao2默认构造方法!");
}
public void save(String username,String password){
System.out.println("UserDao2 保存 "+username+","+password+" 成功!");
}
}
UserSrvImpl
@Service
public class UserSrvImpl implements IUserService {
@Resource("userDao") //注入 UserDao 类对象
private IUserDao dao;
public UserSrvImpl(){
System.out.println("UserSrvImpl构造方法");
}
public void save(String username,String password){
dao.save(username,password);
}
}
如果要注入 UserDao 类对象,注解为:@Resource("userDao")
如果要注入 UserDao2 类对象,注解为:@Resource("userDao2")
执行
public class Main {
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml");
IUserService srv=(IUserService)ac.getBean("userSrvImpl");
srv.save("lilei","123456");
}
}
执行结果:
UserDao默认构造方法!
UserDao2默认构造方法!
UserSrvImpl构造方法
UserDao 保存 lilei,123456 成功!