有以下代码,最后比较注入的dao和ApplicationContext
上下文取出的dao,不是同一个。是我哪里有错误吗?
public class SpringApplicationContext implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext context)
throws BeansException {
applicationContext = context;
}
public static Object getBean(String name) {
return applicationContext.getBean(name);
}
public static ApplicationContext getApplicationContext(){
return applicationContext;
}
}
@Repository(value="helloDao")
public class HelloDao {
public void save(){
System.out.println("HelloDao.save");
}
}
@Service("helloService")
public class HelloService {
@Resource(name = "helloDao")
private HelloDao dao;
public void say() {
System.out.println(SpringApplicationContext.getBean("helloDao")==dao);//false
System.out.println("say hello");
}
}