问答详情
源自:4-3 配置Action,Service,Dao的类-Struts2整合Spring

java.lang.NullPointerException

http://img.mukewang.com/57b062110001219711950188.jpg

http://img.mukewang.com/57b062660001ff0b08420445.jpg

不知道哪里出问题了,用struts2来管理action

然后引入了struts2-spring-plugins.jar。不是自动引入装配service的吗?

到我这就是空指针异常了。。。。

提问者:LebronJames_ 2016-08-14 20:24

个回答

  • 慕沐6483227
    2017-07-05 10:25:39

    public void setProductService(ProductService productService) {  

    this.productService = productService;

    }

    方法名一定要是setProductService,否则出错

  • 阿芳阿芳
    2017-05-11 18:51:35

    我的也一直报这个错,后来发现是没有写@Resource这个东西,加上以后就可以了

  • 须木一瓜
    2016-11-25 17:15:06

    <!-- 配置业务层的类 -->
        <bean id="productServiceBean" class="com.jxust.ssh.service.ProductService">
            <property name="productDao" ref="productDaoBean"/>
        </bean>
        
        <!-- 配置dao层的类 -->
        <bean id="productDaoBean" class="com.jxust.ssh.dao.ProductDao">
        </bean>


  • 须木一瓜
    2016-11-25 17:13:46

    如果非要注入的方式的话

    <package name="default" namespace="/" extends="struts-default">
             <action name="product_*" class="productActionBean" method="{1}">
                <result name="index">index.jsp</result>
            </action > 
        </package>
        <!-- 配置Action 的类 -->
        <bean id="productActionBean" class="com.jxust.ssh.action.ProductAction">
            <property name="produceService" ref="productServiceBean"></property>
        </bean>

    struts.xml里action的class应写成spring里对应bean的id 。只有这样spring容器才会自动的将papermanager注入

  • 须木一瓜
    2016-11-11 21:42:05

    /**
         * 保存商品的执行的方法:save
         */
        public String save(){
            ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            ProductService productService=(ProductService)context.getBean("productService");
            System.out.println("Action中的save方法执行了......");
            productService.save(product);
            return NONE;
        }

    把下面这段注释或删掉

    /*    //Structs和spring整合过程中按名称自动注入的业务层类
         * 不能自动呢注入
        private ProductService produceService;
    
        public void setProduceService(ProductService produceService) {
            this.produceService = produceService;
        }*/


  • 慕粉4153566
    2016-10-21 10:57:02

    我遇到了这个问题  我最后发现是差个jar 包  导入之后 就解决了   struts2-spring-plugin-2.3.15.3.jar

  • 慕粉4153566
    2016-10-20 17:55:59

    求这个问题啊

  • solardzx
    2016-10-16 21:03:44

    同求这个问题啊啊啊啊啊啊 

  • qq_既往_0
    2016-10-12 16:32:13

    是因为http://img.mukewang.com/57fdf49e000198e905390094.jpg这个文件未被实例化 意思就是你的自动注入没起效果,可以手动实例化  不用在spring配置文件里面进行配置

  • qq_既往_0
    2016-09-08 14:42:09

    同样的问题,不是拼写错误,如果直接实例化是可以的 。但是用spring注入的方式就会报这个错误,检查了好几遍  配置都是一样的,还是不知道错误在哪儿。

  • MuZiLun
    2016-09-03 16:58:52

    我也遇到同样的问题了,但是不是你那里拼写错误的问题

  • LebronJames_
    2016-08-14 21:36:46

    搞了好久,已解决了。

    单词拼写错误. productServive, 应该改成productService。

    就一个字母写错了,我以哭瞎。。。