2016-03-29 5 views
0

Hier in Java ist der Zugriff auf den Code-Snippet für meine Dispatcher-servlet.xmlNull-Zeiger-Ausnahme während Bohne für bereits genannte Bohne Spring MVC

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 
    <context:component-scan base-package="com.*"></context:component-scan> 
    <context:annotation-config /> 
    <mvc:annotation-driven></mvc:annotation-driven> 
    <bean name="viewResolver" id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/jsps/"></property> 
     <property name="suffix" value=".jsp"></property> 
    </bean> 
    <bean name="dataSource" id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> 
     <property name="url" value="jdbc:mysql://localhost:3306/com"></property> 
     <property name="username" value="root"></property> 
     <property name="password" value="root"></property> 
    </bean> 
    <bean id="sessionFactoryBean" name="sessionFactoryBean" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"></property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.current_session_context_class">thread</prop> 
      </props> 
     </property> 
     <property name="mappingResources"> 
      <list> 
      </list> 
     </property> 
    </bean> 
    <bean id="template" name="template" class="org.springframework.orm.hibernate3.HibernateTemplate" autowire-candidate="true"> 
     <property name="sessionFactory" ref="sessionFactoryBean"></property> 
    </bean> 
    <bean id="EmployeeDao" name="EmployeeDao" class="com.dao.EmployeeDaoImpl"> 
     <property name="template" ref="template"></property> 
    </bean> 
</beans> 

Und hier ist der Code-Snippet aus meinem EmployeeDaoImpl

public class EmployeeDaoImpl implements EmployeeDao{ 
    HibernateTemplate template; 

    public void setTemplate(HibernateTemplate template) { 
     this.template = template; 
    } 
    public boolean saveDummyEmployees(List<Employee> employees) { 
     try{ 
      template.saveOrUpdateAll(employees); 
      return true; 
     }catch(DataAccessException ex){ 
      ex.printStackTrace(); 
      return false; 
     }catch (Exception e) { 
      e.printStackTrace(); 
      return false; 
     } 
    } 

diese Zeile template.saveOrUpdateAll (Mitarbeiter); hat eine Nullzeiger-Ausnahme, die der Vorlage entspricht.

Bitte lassen Sie mich wissen, welchen Fehler ich mache.

+0

Konnten Sie die vollständige Stapelüberwachung veröffentlichen? – Berger

+0

Hinzufügen des Stacktrace: java.lang.NullPointerException \t bei com.dao.EmployeeDaoImpl.saveDummyEmployees (EmployeeDaoImpl.java:32) \t bei com.controller.FrontController.insertDummyEmployees (FrontController.java:37) \t bei sun.reflect .NativeMethodAccessorImpl.invoke0 (native Methode) \t bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:95) \t bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:56) \t bei java.lang.reflect .Method.invoke (Method.java:620) –

+0

Ich würde Frühjahr Start Logs überprüfen – AdamSkywalker

Antwort

1

In Ihrer FrontController-Klasse sollten Sie EmployeeDao automatisch starten (oder aus dem Anwendungskontext abrufen).

Verwandte Themen