解决方案 »

  1.   

    task1Dao.insert(userInfoForm); 是task1Dao报空了吗?查看下task1Dao 有无get set方法呢?
      

  2.   

    我用spring写了事务配置的 <bean name="baseDao" class="Task.BaseDao">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <bean name="Task1Dao" class="Task.Task1Dao" parent="baseDao" />
    <bean name="TaskService" class="Task.Task1Service">
    <property name="task1Dao" ref="Task1Dao"></property>
    </bean>
    我觉得是不是我连接数据库的url有问题,因为我没连接过sqlserver2008 我写的数据库配置是
    jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
    jdbc.url=jdbc:sqlserver://127.0.0.1:8888;databaseName=TASK;integratedSecurity=true;
    jdbc.username=
    jdbc.password=
    jdbc.initialSize=1
    jdbc.maxActive=500
    jdbc.maxIdle=20
    jdbc.minIdle=1
    jdbc.poolPreparedStatements=false
    jdbc.defaultAutoCommit=false
    hibernate.dialect=org.hibernate.dialect.SQLServerDialect
    hibernate.show_sql=true
    hibernate.format_sql=true
    hibernate.hbm2ddl.auto=update
    hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
    hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
    hibernate.cache.use_query_cache=true
    cache.use_second_level_cache=false你知道怎么获取sqlserver的url吗,就是当前登录帐户的
      

  3.   

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String connectionUrl = "jdbc:sqlserver://192.168.5.38:8888;database=test;";
    数据库连接看着没有问题
    你是在service层调用dao层的,所以需要将dao注入到service里面去,检查下你的配置
      

  4.   

    虽然我配置了事物的。但是我还是按照你说的setget了。但是仍然是那个错误Jun 25, 2014 10:02:20 AM org.apache.struts.action.RequestProcessor processException
    WARNING: Unhandled Exception thrown: class java.lang.reflect.InvocationTargetException
    Jun 25, 2014 10:02:20 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet action threw exception
    java.lang.NullPointerException
    at Task.Task1Service.insert(Task1Service.java:33)
    at Task.Task1Action.saveAction(Task1Action.java:22)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Task.BaseAction.execute(BaseAction.java:35)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
      

  5.   

    楼主,你刚才断点看 task1Dao.insert(userInfoForm); 这里哪个是空指针呢?是task1Dao吧,userInfoForm值可以看到吗?
    我还有个疑问,service里面用了task1Dao 和 userInfoForm,怎么注入时只注入了task1Dao呢?
      

  6.   

    应该是task1Dao,因为是userInfoForm是个ActionForm,是个实体类,只是用来传值得,而且它的.hbm已经添加到sessionFactory里面了啊。。
      

  7.   

    楼主再断点下,insert插入时,遇到必填值为空时,也会报空指针出来的。
    楼主断点下,确定下当前行 task1Dao.insert(userInfoForm);的空指针是哪个数据项为空导致的
      

  8.   


    恩恩我觉得也是这个问题,因为我刚刚在Dao层写了个方法,但是没有进去,直接还是在service层报错,肯定没找到Dao层,难道是我spring配置有问题?注解,呃,我听说过的,但是没试过,有教程的链接没
      

  9.   


    <bean name="Task1Dao" class="Task.Task1Dao" parent="baseDao" />
    <bean name="TaskService" class="Task.Task1Service">
    <property name="task1Dao" ref="Task1Dao"></property>
    </bean>这个注入有错吗? 我在Service层中声明了这个task1Dao类的
      

  10.   

    都用hb3 和 spring3了  不用注解多浪费   省了好多代码  配置   
      

  11.   


    能不能帮我看下我的spring。为什么注入了,却没注入进去呢?
      

  12.   

    我的spring没有注入成功,有哪几方面的原因啊?