Exception "java.lang.NullPointerException"

Bonjour,

Je suis entrain de développez une application en JEE sous Hibernate , Spring , JSF primefaces mais lors de l'exécution j'obtient l'exception suivante:

GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
java.lang.NullPointerException
	at ma.it.bean.NewsBean.init(NewsBean.java:25)
	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 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
	at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
	at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
	at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
	at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
	at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
	at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
	at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
	at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
	at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
	at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
9 mai 2012 16:17:00 com.sun.faces.lifecycle.LifecycleImpl phase
ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1bef4c6) threw exception
javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
 
12: <body>
13: 	<f:view>
14: 		<h:form prependId="false">
15: 			<p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
16: 				value="#{NewsBean.newsList}">
17: 				<p:column id="modelHeader">
18: 					<f:facet name="idNews">  
 
 
Stacktrace:
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:419)
	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
 
12: <body>
13: 	<f:view>
14: 		<h:form prependId="false">
15: 			<p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
16: 				value="#{NewsBean.newsList}">
17: 				<p:column id="modelHeader">
18: 					<f:facet name="idNews">  
 
 
Stacktrace:
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
	... 18 more
Caused by: javax.faces.FacesException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:209)
	at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
	at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
	at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
	at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
	at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
	at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
	at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
	at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	... 28 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:147)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
	at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
	at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
	... 39 more
Caused by: java.lang.NullPointerException
	at ma.it.bean.NewsBean.init(NewsBean.java:25)
	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 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
	... 60 more
9 mai 2012 16:17:00 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
java.lang.NullPointerException
	at ma.it.bean.NewsBean.init(NewsBean.java:25)
	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 org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:350)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1329)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:302)
	at org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
	at org.springframework.web.context.request.SessionScope.get(SessionScope.java:90)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
	at org.springframework.beans.factory.access.el.SpringBeanELResolver.getValue(SpringBeanELResolver.java:58)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:58)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:69)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:112)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
	at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:198)
	at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:215)
	at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:454)
	at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:635)
	at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1033)
	at org.apache.jsp.Views.News_jsp._jspx_meth_p_005fdataTable_005f0(News_jsp.java:210)
	at org.apache.jsp.Views.News_jsp._jspx_meth_h_005fform_005f0(News_jsp.java:170)
	at org.apache.jsp.Views.News_jsp._jspx_meth_f_005fview_005f0(News_jsp.java:125)
	at org.apache.jsp.Views.News_jsp._jspService(News_jsp.java:88)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)


Voici le code de ma classe News.java :

package ma.it.bean;
 
import java.io.*;
import java.util.List;
 
import javax.annotation.PostConstruct;
 
import ma.it.service.NewsService;
import ma.it.model.News;
 
import org.primefaces.component.datatable.DataTable;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
 
 
@Component("NewsBean")
@Scope("session")
public class NewsBean implements Serializable{
	private transient NewsService newsService;
	private transient DataTable NewsTable;
	private List<News> NewsList;
 
	@PostConstruct
	public void init() {
		this.NewsList=this.newsService.findAll();
	}
	public DataTable getNewsTable() {
		return NewsTable;
	}
 
	public void setNewsTable(DataTable newsTable) {
		this.NewsTable = newsTable;
	}
	public List<News> getNewsList() {
		return NewsList;
	}
	public void setNewsList(List<News> newsList) {
		this.NewsList = newsList;
	}
 
	}

voici le code de la page News.jsp :
<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p"%>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<f:view>
		<h:form prependId="false">
			<p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
				value="#{NewsBean.newsList}">
				<p:column id="modelHeader">
					<f:facet name="idNews">  
                    idNews 
            </f:facet>
					<h:outputText value="#{News.idNews}" />
				</p:column>
 
				<p:column>
					<f:facet name="titre">  
                    Titre  
            </f:facet>
					<h:outputText value="#{News.titre}" />
				</p:column>
 
			</p:dataTable>
		</h:form>
 
	</f:view>
</body>
</html>

Et finalement, voici le code de la classe NewsService :
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package ma.it.service;
 
import java.util.List;
 
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import ma.it.model.News;
 
@Service("NewsService")
@Transactional
public class NewsService {
 
	@Autowired
	private SessionFactory sessionFactory;
 
	@SuppressWarnings("unchecked")
	public List<News> findAll()// throws Exception
	{
		return sessionFactory.getCurrentSession().createQuery("from  ma.it.model.News").list();
	}
 
	public News findById(Integer id)
	{
		return (News) sessionFactory.getCurrentSession().get(News.class,id);
	}
 
	public void save(News n)
	{
		sessionFactory.getCurrentSession().saveOrUpdate(n);
	}
 
 
}


Est ce que vous avez une idée à me proposer pour résoudre ce problème ?
N.B: c'est ma première application avec Hibernate Spring et JSF et pour la réaliser je me suis basée sur le tutoriel suivant : http://vimeo.com/15705668

3 réponses

  1. Modérateur
    Il va falloir apprendre à lire un message d'exception, et en particulier à trier l'information utile de tout ce qui est superflu, voici en gros les seules lignes utiles :

    GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
    java.lang.NullPointerException
    	at ma.it.bean.NewsBean.init(NewsBean.java:25)
    
    9 mai 2012 16:17:00 com.sun.faces.lifecycle.LifecycleImpl phase
    ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@1bef4c6) threw exception
    javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
    Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /Views/News.jsp at line 15
     
    12: <body>
    13: 	<f:view>
    14: 		<h:form prependId="false">
    15: 			<p:dataTable id="basic" var="News" binding="#{NewsBean.newsTable}"
    16: 				value="#{NewsBean.newsList}">
    17: 				<p:column id="modelHeader">
    18: 					<f:facet name="idNews">  
    
    Caused by: javax.faces.FacesException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'NewsBean': Invocation of init method failed; nested exception is java.lang.NullPointerException
    Caused by: java.lang.NullPointerException
    	at ma.it.bean.NewsBean.init(NewsBean.java:25)
    
    9 mai 2012 16:17:00 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
    java.lang.NullPointerException
    	at ma.it.bean.NewsBean.init(NewsBean.java:25)

    La ligne 25 étant ici :

    public void init() {
    	this.NewsList=this.newsService.findAll();
    }

    Pour avoir un NullPointerException soit this vaut null (normalement ce n'est jamais le cas), soit c'est donc this.newsService qui vaut null !

    Je te propose ce code en remplacement :

    public void init() 
    {
        if (newsService==null)
            NewsList = new ListNews();
        else
            NewsList = newsService.findAll();
    }

    Si ça ne résout pas ton problème tu devrais à mon avis vérifier ta méthode findAll...
    1. Merci de votre réponse , j'ai essayé votre code mais ça n'a pas marché ,

      juste pour information , concernant la fonction findAll() je l'avais déjà tester avec JUnit et elle retourne des informations de la base ded données et elle l'affiche
      1. Modérateur
        ça n'a pas marché, mais est-ce que l'erreur est la même ?
    2. svp MyInfo comment t a fait pour recupérer les informations concernant la fonction findall() (t a pa trouvé une erreur de ce genre "java.lang.NullPointerException" with Junit