注册 登录
编程论坛 JAVA论坛

userDAO.save(user)抛出空指针,我这样流程正确吗

未来ken 发布于 2017-09-25 10:18, 4399 次点击
程序代码:

<bean id="UserDAO" class="dao.UserDAO">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
</bean>

<bean id="AdminRegAction" class="action.AdminRegAction">
    <property name="userDAO">
        <ref bean="UserDAO"/>
    </property>
</bean>   

action里:

private UserDAO userDAO;
public UserDAO getUserDAO() {
    return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
    this.userDAO = userDAO;
}
public String adminReg(){
User user = new User();
。。。。。。
userDAO.save(user);
return "success";
}


这样的流程对吗?
14 回复
#2
未来ken2017-09-25 10:18
#3
未来ken2017-09-25 10:18
#4
静水且流深2017-09-25 10:35
空指针异常不就是对象创建有问题吗?你是怎么创建的?失败原因是啥?
#5
未来ken2017-09-25 10:39
回复 4楼 静水且流深
我一直看不明白,一扯到数据库操作就完蛋
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
    action.AdminRegAction.adminReg(AdminRegAction.java:91)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
        。。。。。。
    就到这句userDAO.save(user);

我怀疑我的bean文件有问题,但是一直找不出来毛病
#6
静水且流深2017-09-25 10:44
action.AdminRegAction.adminReg(AdminRegAction.java:91)
不是报了91行吗?该行是啥,上下文是什么,拖出来分析啊
#7
未来ken2017-09-25 10:51
以下是引用静水且流深在2017-9-25 10:44:36的发言:

 action.AdminRegAction.adminReg(AdminRegAction.java:91)
不是报了91行吗?该行是啥,上下文是什么,拖出来分析啊

我输出了一下userDAO,但是显示是null不是一个对象,应该是我这个dao没在bean文件里,但是不知道怎么修改。。
#8
静水且流深2017-09-25 10:59
应该是我这个dao没在bean文件里,但是不知道怎么修改。。

这样描述是说bean文件配置了创建实例的方式,然后使用上出了问题?
#9
未来ken2017-09-25 11:04
以下是引用静水且流深在2017-9-25 10:59:04的发言:

应该是我这个dao没在bean文件里,但是不知道怎么修改。。

这样描述是说bean文件配置了创建实例的方式,然后使用上出了问题?


    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                <value>model/User.hbm.xml</value>
                <value>model/Usersearch.hbm.xml</value>
                <value>model/Img.hbm.xml</value></list>
        </property></bean>
    <bean id="UserDAO" class="dao.UserDAO">
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
    </bean>
    <bean id="UsersearchDAO" class="dao.UsersearchDAO">
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
    </bean>
    <bean id="ImgDAO" class="dao.ImgDAO">
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
    </bean>
    <bean id="AdminLoginAction" scope="prototype" class="action.AdminLoginAction">
   
    </bean>
   

    <bean id="AdminRegAction" class="action.AdminRegAction">
        <property name="userDAO">
            <ref bean="UserDAO"/>
        </property>
    </bean>   

bean里就是这样的,您看下有没有问题。。
#10
静水且流深2017-09-25 11:19
<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
这dataSource的配置在哪
#11
未来ken2017-09-25 11:25
以下是引用静水且流深在2017-9-25 11:19:51的发言:

 <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
这dataSource的配置在哪

    <bean id="dataSource"
        class="org.
        <property name="driverClassName"
            value="com.mysql.jdbc.Driver">
        </property>
        <property name="url"
            value="jdbc:mysql://localhost:3306/androidserver">
        </property>
        <property name="username" value="root"></property>
    </bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
            </props>
        </property>
        <property name="mappingResources">
            <list>
                <value>model/User.hbm.xml</value>
                <value>model/Usersearch.hbm.xml</value>
                <value>model/Img.hbm.xml</value></list>
        </property></bean>

没有粘上来而已。。
#12
静水且流深2017-09-25 11:27
请大神帮你看吧,看样子还是hibernate,struts的框架
#13
未来ken2017-09-25 11:29
回复 10楼 静水且流深
我在上边写了没有粘出来而已
#14
未来ken2017-09-25 11:30
回复 12楼 静水且流深
是啊,看来要去哪个企业找大佬了
#15
未来ken2017-09-25 11:30
回复 12楼 静水且流深
是啊,看来要去哪个企业找大佬了
1