struts2.2.1.1+spring2.5.6+hibernate3.3.2使用注解整合后,struts2的action交给spring的IOC容器管理,如何测试真的假的?

解决方案 »

  1.   

    如果不太确定,action,service,dao随便写个业务,跑起来,不就一目了然了?
      

  2.   

    程序能运行,没错!!但是action并非从spring ioc容器中获得,觉得有些奇怪,spring和struts2通过注解整合到底如何??
      

  3.   

    这个只要改入spring包再改一下那个加载容器就行了啊~~
      

  4.   

    使用junit看看能不能从容器中获取到东西!
      

  5.   

    终于测试出来了;
    Struts2和spring2整合后,struts2的action对象交给spring工厂管理,默认是根据Name自动匹配ioc容器中的对象;
    @Controller
    public class DeptAction extends ActionSupport{..}
    springIOC容器中会自动创建名字为deptAction的实例,但是Struts2是根据类得完全限定名进行匹配,此时会出现ioc容器找不到相应的实例,然后继续由Struts2创建Action实例运行,所以注解成功与否,都能运行;
    如果要想找到对应的action实例,则需要
    @Controller(action的完全限定名),这样在IOC容器中就可以找到对应的实例;测试方法:设置Action的scope为单例模式;
    然后在一个action中获得当前action的hashCode,然后从WebApplicationContext中获得ioc容器中的action,看是否有hashCode一样的!!!
      

  6.   

    介绍楼主看一下尚学堂的s2sh视频教程是用注释写的,但不完全是注释!