2016-03-06 3 views
0

Я занимаюсь созданием портала с использованием Spring 4.2.4 и hibernate 4.2.21 Final с использованием maven. Я столкнулся со следующим исключением. Я не мог понять, что делает ошибка. Я не использую hibernate.cfg.xml, когда я делаю детали конфигурации внутри сервлета диспетчера. Также, как показывает трассировка стека ошибок, он не смог найти путь к модели. Ярцы, которые я добавил через maven, отображаются на рисунке ниже.Ошибка создания Bean Spring MVC

Jars i have added through maven

Это структура каталогов моего приложения

Folder Structure

Как и в структуре папок, имеется employee.java как модель. Я не нахожу, где я ошибся.

Исключение

HTTP Status 500 - Servlet.init() for servlet hr-servlet threw exception 


type Exception report 

message Servlet.init() for servlet hr-servlet threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 
javax.servlet.ServletException: Servlet.init() for servlet hr-servlet threw exception 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Unknown Source) 


root cause 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/config/hr-servlet.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: org.slf4j.LoggerFactory could not be successfully initialized. See also http://www.slf4j.org/codes.html#unsuccessfulInit 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:753) 
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Unknown Source) 


root cause 
java.lang.IllegalStateException: org.slf4j.LoggerFactory could not be successfully initialized. See also http://www.slf4j.org/codes.html#unsuccessfulInit 
    org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:276) 
    org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242) 
    org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255) 
    org.hibernate.cfg.annotations.reflection.XMLContext.<init>(XMLContext.java:47) 
    org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.<init>(JPAMetadataProvider.java:29) 
    org.hibernate.cfg.Configuration.createReflectionManager(Configuration.java:2505) 
    org.hibernate.cfg.Configuration.reset(Configuration.java:286) 
    org.hibernate.cfg.Configuration.<init>(Configuration.java:277) 
    org.hibernate.cfg.Configuration.<init>(Configuration.java:281) 
    org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.<init>(LocalSessionFactoryBuilder.java:140) 
    org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:343) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:753) 
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Unknown Source) 

Вот мой сервлет диспетчеру.

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation=" 
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.2.xsd"> 

<context:component-scan base-package="com.is.employeeportal.controller" /> 
<!-- <context:property-placeholder location="com.is.employeeportal.model" /> --> 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<property name="prefix"> 
    <value>/WEB-INF/views/</value> 
</property> 
<property name="suffix"> 
    <value>.jsp</value> 
</property> 
</bean> 
<bean id="dataSource" 
     class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/port_dev" /> 
     <property name="username" value="port_dev" /> 
     <property name="password" value="port_dev_123" /> 
    </bean> 

    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 


     <property name="dataSource" ref="dataSource" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>com.is.employeeportal.model.Employee</value>    
      </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop>     
      </props> 
     </property> 


    </bean> 
    <bean id="employeeDAO" class="com.is.employeeportal.dao.EmployeeDao"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

    <bean id="hibernateTransactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
<!-- <bean id="hrController" class="com.is.employeeportal.controller.HrController"> --> 
<!-- </bean> --> 
</beans> 

Может кто-нибудь просветить меня, где я делаю ошибку? Я простаивал эту проблему часами.

+0

у вас есть файл slf4j-api.jar. Я не думаю, что вы полностью его настроили. Вы можете удалить этот файл jar и попробовать. –

ответ

0

SLF4J - это только интерфейс для ведения журнала. Вам нужна реализация. Log4j - общий выбор, но there are some others.

Если вы используете SLF4J с log4j, вы можете использовать log4j.properties файл с содержимым, приведенным ниже:

# Global logging configuration (Options DEBUG, INFO, WARN, ERROR, OFF) 
log4j.rootLogger=INFO,stdout,fichier,spring 
# mail à ajouter pour que les emails d'alerte sur erreur soient envoyés 


# Console output... 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Threshold=INFO 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %-5p %x - %m%n 
#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n 

log4j.appender.fichier=org.apache.log4j.RollingFileAppender 
log4j.appender.fichier.Threshold=INFO 
log4j.appender.fichier.File=/var/log/tomcat/spring-web-mvc-json.log 
log4j.appender.fichier.layout=org.apache.log4j.PatternLayout 
log4j.appender.fichier.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %-5p %x - %m%n 
log4j.appender.fichier.MaxFileSize=5000KB 
log4j.appender.fichier.MaxBackupIndex=10 

log4j.appender.spring=org.apache.log4j.RollingFileAppender 
log4j.appender.fichier.Threshold=DEBUG 
log4j.appender.spring.File=/var/log/tomcat/spring-details.log 
log4j.appender.spring.layout=org.apache.log4j.PatternLayout 
log4j.appender.spring.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %-5p %x - %m%n 
log4j.appender.spring.MaxFileSize=5000KB 
log4j.appender.spring.MaxBackupIndex=10 

# configuration... 
org.apache.commons.digester.Digester=INFO 

# specific packages coded by myself... 
com.bendathierry.spring.web.mvc=DEBUG,fichier 

# springframework 3.1.xx packages to log... 
org.springframework=DEBUG,spring 
org.springframework.beans=DEBUG,spring 
org.springframework.security=DEBUG,spring 
org.springframework.beans.CachedIntrospectionResults=DEBUG,spring 
org.springframework.jdbc.core=DEBUG,spring 
org.springframework.transaction.support.TransactionSynchronizationManager=DEBUG,spring 
#org.springframework.core=DEBUG 
#org.springframework.util=DEBUG 
#org.springframework.context=DEBUG 
#org.springframework.remoting=DEBUG 
#org.springframework.jndi=DEBUG 
#org.springframework.http=DEBUG 
#org.springframework.web=DEBUG 
#org.springframework.scheduling=DEBUG 
#org.springframework.scripting=DEBUG 
#org.springframework.validation=DEBUG 
#org.springframework.mail=DEBUG 
#org.springframework.ui=DEBUG 
#org.springframework.expression=DEBUG 

Я думаю, что это может помочь вам создать эти файлы с содержанием данного :)

Смежные вопросы