日期:2014-05-17  浏览次数:20711 次

如何在普通java类中获取spring中定义的对象
我用ssh搭建了一个项目,表和对象的映射是通过注解的方式映射的
我在applicationContext.xml中配置了下面这个Bean
<bean id="staffService" class="com.test.staffServiceImpl"></bean>
我现在想在想写个main方法,在main方法中获取staffService这个Bean,并调用这个Bean对象的getStaff方法
我在main方法中这么写的

public static void main(String[] args){
     ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
     BeanFactory bf = (BeanFactory)ac;
    StaffService staffService =  (StaffService)bf.getBean(staffService);
    staffService.getStaff("00000000");
}

执行main方法的时候,获取到了staffService 这个bean对象,但执行getStaff方法时提示找不到Staff这个Entity,请问该如何调用这个方法呢?
------解决方案--------------------
Staff 是 staffService 的属性?
------解决方案--------------------
(StaffService)bf.getBean(staffService);

这个的getBean方法的参数应该是字符串吧,你这里看不懂了。
------解决方案--------------------
BeanFactory?是干什么的?为什么不用ac.getBean("staffService")