java - Spring SessionFactory Injection Issue -
i've been trying learn use various featured of spring 3.0.x , i've come across issue when i'm trying inject session factory dao implementation. receive nullpointerexception when try use injected sessionfactory instance variable leads me believe problem exists in bean definition.
dispatcher-servlet.xml
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:component-scan base-package="com.timerecorder"/> <bean id="jspviewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview"/> <property name="prefix" value="/web-inf/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <bean id="mydatasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="oracle.jdbc.oracledriver"/> <property name="url" value="jdbc:oracle:thin:@xxx.xxx.x.xxx:xxxx:xx"/> <property name="username" value="xxx"/> <property name="password" value="xxx"/> </bean> <bean id="mysessionfactory" class="org.springframework.orm.hibernate3.annotation.annotationsessionfactorybean"> <property name="datasource" ref="mydatasource"/> <property name="hibernateproperties"> <value> hibernate.dialect=org.hibernate.dialect.oracle10gdialect </value> </property> </bean> </beans> entryimpl.java
package com.timerecorder.entity; import java.util.list; import org.hibernate.sessionfactory; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.repository; @repository public class entryimpl implements entrydao { private sessionfactory sessionfactory; @autowired public void setsessionfactory(sessionfactory sessionfactory) { this.sessionfactory = sessionfactory; } @override public boolean saveentry(entryform efd) { // place details entry form entry entity entry e = new entry(); e.setid(long.valueof(efd.getuserid())); this.sessionfactory.getcurrentsession().save(e); return true; } @override public boolean removeentry(long id) { throw new unsupportedoperationexception("not supported yet."); } @override public list getentries(long id) { throw new unsupportedoperationexception("not supported yet."); } @override public entry getentry(long id) { return new entry(); } } any appreciated.
kind regards,
justin
looks may naming convention problem in bean definations.
try renaming
id= "mysessionfactory"
to
id= "sessionfactory" let me know if helps.
Comments
Post a Comment