无法加载Spring中的applicationContext.xml [英] Not able to load the applicationContext.xml in Spring
问题描述
目前我在加载 applicationContext.xml 时遇到了一个问题。
$ b 我在applicationContext.xml中配置了hibernate 但我不明白是什么导致了这个问题。
在我的项目中,我没有使用Hibernate Mapping,而是使用了基于annontation的。
$ b
下面是问题内容
INFO:刷新根WebApplicationContext :启动日期[Sat Feb 07 19:41:22 IST 2015];上下文层次结构的根
INFO:从ServletContext资源加载XML bean定义[/WEB-INF/applicationContext.xml]
SEVERE:上下文初始化失败
org.springframework.beans.factory.BeanDefinitionStoreException:意外的异常从ServletContext资源解析XML文档[/WEB-INF/applicationContext.xml];嵌套异常是java.lang.NoClassDefFoundError:org.springframework上的
。org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413)中的org / aopalliance / intercept / MethodInterceptor
。在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)上
。org.springframework
。在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
(AbstractBeanDefinitionReader.java:216)
。在org.springframework。 beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinit (XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory( AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.contextListenerStart (StandardContext.java:5362)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:743)
at org.apache.catalina.core.StandardContext.start(StandardContext.java :5898)
at com.sun.enterprise.web.WebModule.start(WebModule.java:691)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:1024)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2278)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1924)
at com.sun。 enterprise.web.WebApplication.start(WebApplication.java:139)
位于org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
位于org.glassfish.internal.data。 ModuleInfo.start(ModuleInfo.java:291)
在org.glassfish.internal.data.ApplicationInfo.start( ApplicationInfo.java:352)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:497)
applicationContext.xml
<?xml version = '1.0'encoding ='UTF-8'?>
<! - 是:<?xml version =1.0encoding =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:aop =http://www.springframework.org/schema/aop
xmlns :tx =http://www.springframework.org/schema/tx
xmlns:util =http://www.springframework.org/schema/util
xsi:schemaLocation = http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/ aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema /tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd\">
<! - bean id =propConfigurer
class =org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
p:location =/ WEB-INF /jdbc.properties/>
< bean id =dataSource
class =org.springframework.jdbc.datasource.DriverManagerDataSource
p:driverClassName =$ {jdbc.driverClassName}
p:url =$ {jdbc.url}
p:username =$ {jdbc.username}
p:password =$ {jdbc.password}/ - >
<! - 在这里加入持久性支持(jpa,hibernate等) - >
< bean id =dataSourceclass =org.apache.commons.dbcp.BasicDataSource
destroy-method =close>
< property name =driverClassNamevalue =com.mysql.jdbc.Driver/>
< property name =usernamevalue =root/>
< property name =passwordvalue =admin/>
< / bean>
< bean id =transactionManagerclass =org.springframework.orm.hibernate4.HibernateTransactionManager>
< property name =sessionFactoryref =hibernate4AnnotatedSessionFactory/>
< / bean>
< tx:注解驱动的事务管理器=transactionManager/>
<! - Hibernate 4 SessionFactory Bean定义 - >
< bean id =hibernate4AnnotatedSessionFactoryclass =org.springframework.orm.hibernate4.LocalSessionFactoryBean>
< property name =dataSourceref =dataSource/>
< property name =annotatedClasses>
< list>
< value> com.otr.hibernate.Employee< / value>
< / list>
< / property>
< property name =hibernateProperties>
<道具>
< prop key =hibernate.dialect> org.hibernate.dialect.MySQLDialect< / prop>
< prop key =hibernate.show_sql> true< / prop>
< prop key =hibernate.connection.pool_size> 1< / prop>
< prop key =hibernate.hbm2ddl.auto>建立< / prop>
< /道具>
< / property>
< / bean>
< / beans>
Dispatcher-Servlet.xml
<?xml version ='1.0'encoding ='UTF-8'?>
<! - 是:<?xml version =1.0encoding =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:aop =http://www.springframework.org/schema/aop
xmlns :tx =http://www.springframework.org/schema/tx
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-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http ://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springfram ework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd\">
< context:component-scan base-package =com.otrrn.controller/>
< context:component-scan base-package =com.otrrn.hibernate/>
< bean class =org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping/>
< bean class =org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter/>
< mvc:resources mapping =/ resources / **location =/ resources //>
<! - bean id =viewResolver
class =org.springframework.web.servlet.view.InternalResourceViewResolver
p:prefix =/ WEB-INF / jsp /
p:suffix =。jsp/ - >
<! - -
索引控制器。
- >
<! - bean name =indexController
class =org.springframework.web.servlet.mvc.ParameterizableViewController
p:viewName =index/ - >
< bean id =tilesConfigurerclass =org.springframework.web.servlet.view.tiles3.TilesConfigurer>
< property name =definitions>
< list>
<值> /WEB-INF/tiles-def/general-layout.xml< /值>
< / list>
< / property>
< / bean>
< bean id =viewResolverTilesclass =org.springframework.web.servlet.view.UrlBasedViewResolver>
< property name =viewClassvalue =org.springframework.web.servlet.view.tiles3.TilesView/>
< / bean>
< mvc:annotation-driven />
< bean
class =org.springframework.web.servlet.view.InternalResourceViewResolver>
< property name =prefix>
< value> / WEB-INF / pages /< / value>
< / property>
< property name =suffix>
<值> .jsp< /值>
< / property>
< / bean>
< / beans>
在上面的dispatcher-servlet.xml中我还有一个更多的说明,对于控制器我添加了组件扫描,我们需要Hibernate类吗?如果需要的话是否可以放置它?
对于控制器
< context:component-scan base-package =com.otrrn.controller/>
对于Hibernate
< context:component-scan base-package =com.otrrn.hibernate/>
Spring Jars Lib参考
有人可以帮忙解决这个问题,谢谢。
任何人都面临同样的问题........
看起来你错过了 spring-aop.jar
和 aopalliance.jar
作为依赖项。下载并将其添加到你的类路径中。
Currently I facing an issue in loading the applicationContext.xml.
I made hibernate configuration in applicationContext.xml but I don't understand what makes the problem.
In my project i don't have Hibernate Mapping's instead I used annontation based.
Here below the issue content
INFO: Refreshing Root WebApplicationContext: startup date [Sat Feb 07 19:41:22 IST 2015]; root of context hierarchy
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:5362)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:743)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5898)
at com.sun.enterprise.web.WebModule.start(WebModule.java:691)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:1024)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2278)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1924)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:139)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:497)
applicationContext.xml
<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--bean id="propConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" /-->
<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
<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/otr" />
<property name="username" value="root" />
<property name="password" value="admin" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- Hibernate 4 SessionFactory Bean definition -->
<bean id="hibernate4AnnotatedSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>com.otr.hibernate.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.connection.pool_size">1</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
</beans>
Dispatcher-Servlet.xml
<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<context:component-scan base-package="com.otrrn.controller"/>
<context:component-scan base-package="com.otrrn.hibernate"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<mvc:resources mapping="/resources/**" location="/resources/" />
<!--bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" / -->
<!--
The index controller.
-->
<!--bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController"
p:viewName="index" /-->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles-def/general-layout.xml</value>
</list>
</property>
</bean>
<bean id="viewResolverTiles" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>
</bean>
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
In the above dispatcher-servlet.xml I also have one more clarification, for controller I added component scan, is it we need for hibernate classes? if it is needed is it way to put it up?
For Controller
<context:component-scan base-package="com.otrrn.controller"/>
For Hibernate
<context:component-scan base-package="com.otrrn.hibernate"/>
Spring Jars Lib Reference
Could somebody help on this issue, thanks in advance.
anybody faced the same issue........
Looks like you miss spring-aop.jar
and aopalliance.jar
as a dependency. Download it and add it to your classpath.
这篇关于无法加载Spring中的applicationContext.xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!