I am new to Spring, i am trying to create a simple project with spring and Hibernate with annotations(without use of configuration and mapping XML's). I am held up with this below error since 3 days.
Below is the stack trace of the error
Code:ERROR [org.springframework.web.servlet.DispatcherServlet] (MSC service thread 1-1) Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-servlet.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:591) [org.springframework.beans-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) [org.springframework.context-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469) [org.springframework.context-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133) [org.springframework.web.servlet-3.1.2.RELEASE.jar:3.1.2.RELEASE] at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_25] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_25] Caused by: java.lang.NullPointerException at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:207) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2277) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2273) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1782) [hibernate-core-4.1.3.Final.jar:4.1.3.Final] at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:242) [org.springframework.orm-3.1.2.RELEASE.jar:3.1.2.RELEASE]
Here is the code
[ Spring-servlet.xml]
ControllerCode:<?xml version="1.0" encoding="UTF-8"?> <beans ...> <context:property-placeholder location="classpath:jdbc.properties" /> <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="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${database.driver}" /> <property name="url" value="${database.url}" /> <property name="username" value="${database.username}" /> <property name="password" value="${database.password}" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>com.spring.form.Items</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.connection.pool_size">${hibernate.connection.pool_size}</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <context:component-scan base-package="com.spring" /> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>
DAOCode:@Controller @RequestMapping("/receiptsnew") public class ReceiptsSpringController { @Autowired private ReceiptsService receiptsService; public ReceiptsSpringController() { } @RequestMapping(value="/save", method=RequestMethod.POST) public ModelAndView saveItems(@ModelAttribute("item")Items item, BindingResult result) { receiptsService.addItem(item); return new ModelAndView("redirect:/receiptsnew.html"); } @RequestMapping(method=RequestMethod.GET) public ModelAndView viewItems() { Map model= new HashMap(); model.put("items", receiptsService.getAllItems()); //items is just a key values return new ModelAndView("itemsView",model); } @RequestMapping(value="/add", method=RequestMethod.GET) public ModelAndView addItems(@ModelAttribute("item")Items item, BindingResult result) { return new ModelAndView("itemAdd"); } }
Service layerCode:import java.util.List; @Repository("itemDao") public class HibernateItemDao implements ItemDao { @Autowired private SessionFactory sessionFactory; public void saveItem(Items item) { // TODO Auto-generated method stub sessionFactory.getCurrentSession().saveOrUpdate(item); } @SuppressWarnings("unchecked") public List<Items> getAllItems() { // TODO Auto-generated method stub return sessionFactory.getCurrentSession().createCriteria(Items.class).list(); } }
Code:@Service("receiptsService") @Transactional(propagation=Propagation.SUPPORTS, readOnly=true) public class ReceiptsServiceImpl implements ReceiptsService { @Autowired private ItemDao itemDao; @Transactional(propagation=Propagation.REQUIRED,readOnly=false) public void addItem(Items item) { // TODO Auto-generated method stub itemDao.saveItem(item); } public List<Items> getAllItems() { // TODO Auto-generated method stub return itemDao.getAllItems(); } }
jar's
jars.jpg
properties
props.jpg


Reply With Quote
roperty-placeholder location="classpath:jdbc.properties" />
