java.lang.NullPointerException

来源:4-3 配置Action,Service,Dao的类-Struts2整合Spring

LebronJames_

2016-08-14 20:24

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

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

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

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

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

写回答 关注

12回答

  • 慕沐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

    qq_靖_9

    正解,我之前导入的是最新的jar包,struts2-spring-plugin-2.3.34一直出现这个问题,后来重新导入struts2-spring-plugin-2.3.15.2就没问题了

    2018-04-19 20:03:41

    共 1 条回复 >

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

    求这个问题啊

    彼岸微蓝

    有问题的私信我,我也在学

    2016-10-20 20:46:42

    共 2 条回复 >

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

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

    慕尼黑914...

    一个一个的英文单词字母看,肯定是productservice的英文有问题尤其在 public ProductServic productService那里错的

    2017-05-23 19:16:20

    共 1 条回复 >

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

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

    慕尼黑914...

    第二个productService 小写p 还要把原来的set方法的去掉再生成一遍!

    2017-05-23 19:13:03

    共 1 条回复 >

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

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

    qq_诶姆_...

    找到答案了吗?我也卡在这儿了,并且,在ProductAction调用service层的方法时,是怎么调用的spring的配置文件的呢

    2016-10-04 21:08:06

    共 1 条回复 >

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

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

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

    搞了好久,已解决了。

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

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

基于SSH实现员工管理系统之框架整合篇

本视频教程主要介绍环境搭建和SSH框架整合,逐层深入理解学习

49832 学习 · 344 问题

查看课程

相似问题