论坛首页 Java版 Spring

关于spring容器中为业务逻辑组件增加事务控制的问题

浏览 1100 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-03-24
<?xml version="1.0" encoding="GB18030"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	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-2.0.xsd">
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation"
			value="classpath:hibernate.cfg.xml">
		</property>
	</bean>
	
	<bean id="userDao" class="loginreg.dao.UserDaoHibernater">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>

	<bean id="userManger" class="loginreg.bussiness.UserManagerImpl">
		<property name="userDao" ref="userDao"></property>
	</bean>

	<!-- 配置使用hibernate局部事务策略 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!-- 定义事务拦截器 -->
    <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
        <property name="transactionManager" ref="transactionManager"/>
    	<property name="transactionAttributes">
		    <props>
			    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
		    	<prop key="*">PROPAGATION_REQUIRED</prop>
		    </props>
	    </property>
	</bean>
	
	<!-- 定义BeanNameAutoProxyCreator-->
	<bean
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames">
			<list>
				<value>userManger</value>
			</list>
		</property>
		<!--  下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
		<property name="interceptorNames">
			<list>
				<value>transactionInterceptor</value>
			</list>
		</property>
	</bean>

</beans>

 我在我的javaEE项目中,用到了在spring容器中为业务逻辑组件增加事务控制,但按以上这样配置,出现以下这样的错误,如果您知道怎么做,请麻烦告诉一下,谢谢

 

写道
2008-3-24 15:31:53 org.apache.tomcat.util.digester.Digester endElement
警告: No rules found matching 'Server/Service/Engine/Host/context'.
2008-3-24 15:31:53 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\MyEclipse 6.0\bin;F:\java develop kits\apache-tomcat-6.0.16\bin
2008-3-24 15:31:53 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
2008-3-24 15:31:53 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 514 ms
2008-3-24 15:31:53 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-3-24 15:31:53 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.16
2008-3-24 15:31:53 org.apache.catalina.core.StandardContext addApplicationListener
信息: The listener "listeners.ContextListener" is already configured for this context. The duplicate definition has been ignored.
2008-3-24 15:31:53 org.apache.catalina.core.StandardContext addApplicationListener
信息: The listener "listeners.SessionListener" is already configured for this context. The duplicate definition has been ignored.
2008-3-24 15:31:53 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-3-24 15:31:53 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-3-24 15:31:56 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-default.xml]
2008-3-24 15:31:56 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-plugin.xml]
2008-3-24 15:31:56 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts.xml]
2008-3-24 15:31:56 org.apache.struts2.config.Settings getLocale
警告: Settings: Could not parse struts.locale setting, substituting default VM locale
2008-3-24 15:31:56 org.apache.struts2.config.BeanSelectionProvider register
信息: Loading global messages from globalMessages
2008-3-24 15:31:56 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
信息: Setting DefaultObjectTypeDeterminer as default ...
2008-3-24 15:31:57 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-default.xml]
2008-3-24 15:31:57 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts-plugin.xml]
2008-3-24 15:31:57 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider register
信息: Parsing configuration file [struts.xml]
2008-3-24 15:31:57 org.apache.struts2.config.Settings getLocale
警告: Settings: Could not parse struts.locale setting, substituting default VM locale
2008-3-24 15:31:57 org.apache.struts2.config.BeanSelectionProvider register
信息: Loading global messages from messageResource
2008-3-24 15:31:57 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
信息: Setting DefaultObjectTypeDeterminer as default ...
2008-3-24 15:31:58 org.apache.catalina.core.StandardContext addApplicationListener
信息: The listener "org.springframework.web.context.ContextLoaderListener" is already configured for this context. The duplicate definition has been ignored.
2008-03-24 15:31:58,250 INFO (org.springframework.web.context.ContextLoader:174) - Root WebApplicationContext: initialization started
2008-3-24 15:31:58 org.apache.catalina.core.ApplicationContext log
信息: Loading Spring root WebApplicationContext
2008-03-24 15:31:58,359 INFO (org.springframework.core.CollectionFactory:76) - JDK 1.4+ collections available
2008-03-24 15:31:58,359 INFO (org.springframework.core.CollectionFactory:80) - Commons Collections 3.x available
2008-03-24 15:31:58,421 INFO (org.springframework.beans.factory.xml.XmlBeanDefinitionReader:347) - Loading XML bean definitions from ServletContext resource [/WEB-INF/classes/applicationContext.xml]
2008-03-24 15:31:58,656 INFO (org.springframework.web.context.support.XmlWebApplicationContext:100) - Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [sessionFactory,userDao,mgr,transactionManager,transactionInterceptor,org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator]; root of BeanFactory hierarchy
2008-03-24 15:31:58,671 INFO (org.springframework.web.context.support.XmlWebApplicationContext:324) - 6 beans defined in application context [Root WebApplicationContext]
2008-03-24 15:31:58,734 INFO (org.springframework.aop.framework.DefaultAopProxyFactory:59) - CGLIB2 available: proxyTargetClass feature enabled
2008-03-24 15:31:58,843 INFO (org.springframework.web.context.support.XmlWebApplicationContext:894) - Bean 'org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2008-03-24 15:31:58,843 INFO (org.springframework.web.context.support.XmlWebApplicationContext:475) - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@189f854]
2008-03-24 15:31:58,859 INFO (org.springframework.web.context.support.XmlWebApplicationContext:497) - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@191e4c]
2008-03-24 15:31:58,859 INFO (org.springframework.ui.context.support.UiApplicationContextUtils:83) - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@1da87db]
2008-03-24 15:31:58,859 INFO (org.springframework.beans.factory.support.DefaultListableBeanFactory:278) - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [sessionFactory,userDao,mgr,transactionManager,transactionInterceptor,org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator]; root of BeanFactory hierarchy]
2008-03-24 15:31:58,937 INFO (org.hibernate.cfg.Environment:500) - Hibernate 3.2 cr4
2008-3-24 15:32:00 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionInterceptor' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'transactionAttributes' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'transactionAttributes' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
Caused by: java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
at org.springframework.transaction.interceptor.TransactionAttributeEditor.setAsText(TransactionAttributeEditor.java:59)
at org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource.setProperties(NameMatchTransactionAttributeSource.java:93)
at org.springframework.transaction.interceptor.TransactionAspectSupport.setTransactionAttributes(TransactionAspectSupport.java:151)
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.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:789)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:608)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValue(AbstractPropertyAccessor.java:49)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:74)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:970)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.resolveInterceptorNames(AbstractAutoProxyCreator.java:402)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:349)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:249)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:311)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1038)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-3-24 15:32:00 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2008-3-24 15:32:00 org.apache.catalina.core.StandardContext start
严重: Context [/LoginReg] startup failed due to previous errors
2008-3-24 15:32:00 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2008-03-24 15:31:58,953 INFO (org.hibernate.cfg.Environment:533) - hibernate.properties not found
2008-03-24 15:31:58,953 INFO (org.hibernate.cfg.Environment:667) - Bytecode provider name : cglib
2008-03-24 15:31:59,078 INFO (org.hibernate.cfg.Environment:584) - using JDK 1.4 java.sql.Timestamp handling
2008-03-24 15:31:59,187 INFO (org.hibernate.cfg.Configuration:1365) - configuring from url: file:/F:/java%20develop%20kits/apache-tomcat-6.0.16/webapps/LoginReg/WEB-INF/classes/hibernate.cfg.xml
2008-03-24 15:31:59,281 INFO (org.hibernate.cfg.Configuration:507) - Reading mappings from resource: loginreg/pojo/Loginreg.hbm.xml
2008-03-24 15:31:59,406 INFO (org.hibernate.cfg.HbmBinder:300) - Mapping class: loginreg.pojo.User -> loginreg
2008-03-24 15:31:59,437 INFO (org.hibernate.cfg.Configuration:1465) - Configured SessionFactory: null
2008-03-24 15:31:59,437 INFO (org.springframework.orm.hibernate3.LocalSessionFactoryBean:743) - Building new Hibernate SessionFactory
2008-03-24 15:31:59,546 INFO (org.hibernate.connection.DriverManagerConnectionProvider:41) - Using Hibernate built-in connection pool (not for production use!)
2008-03-24 15:31:59,546 INFO (org.hibernate.connection.DriverManagerConnectionProvider:42) - Hibernate connection pool size: 20
2008-03-24 15:31:59,546 INFO (org.hibernate.connection.DriverManagerConnectionProvider:45) - autocommit mode: false
2008-03-24 15:31:59,546 INFO (org.hibernate.connection.DriverManagerConnectionProvider:80) - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/loginreg
2008-03-24 15:31:59,562 INFO (org.hibernate.connection.DriverManagerConnectionProvider:86) - connection properties: {user=root, password=****, release_mode=on_close}
2008-03-24 15:31:59,781 INFO (org.hibernate.cfg.SettingsFactory:81) - RDBMS: MySQL, version: 5.0.45-community-nt
2008-03-24 15:31:59,796 INFO (org.hibernate.cfg.SettingsFactory:82) - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.10 ( $Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $ )
2008-03-24 15:31:59,828 INFO (org.hibernate.dialect.Dialect:141) - Using dialect: org.hibernate.dialect.MySQLDialect
2008-03-24 15:31:59,843 INFO (org.hibernate.transaction.TransactionFactoryFactory:31) - Using default transaction strategy (direct JDBC transactions)
2008-03-24 15:31:59,843 INFO (org.hibernate.transaction.TransactionManagerLookupFactory:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:134) - Automatic flush during beforeCompletion(): disabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:138) - Automatic session close at end of transaction: disabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:145) - JDBC batch size: 15
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:148) - JDBC batch updates for versioned data: disabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:153) - Scrollable result sets: enabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:161) - JDBC3 getGeneratedKeys(): enabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:169) - Connection release mode: on_close
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:193) - Maximum outer join fetch depth: 2
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:196) - Default batch fetch size: 1
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:200) - Generate SQL with comments: disabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:204) - Order SQL updates by primary key: disabled
2008-03-24 15:31:59,859 INFO (org.hibernate.cfg.SettingsFactory:369) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2008-03-24 15:31:59,875 INFO (org.hibernate.hql.ast.ASTQueryTranslatorFactory:24) - Using ASTQueryTranslatorFactory
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:212) - Query language substitutions: {}
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:217) - JPA-QL strict compliance: disabled
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:222) - Second-level cache: enabled
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:226) - Query cache: disabled
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:356) - Cache provider: org.hibernate.cache.NoCacheProvider
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:241) - Optimize cache for minimal puts: disabled
2008-03-24 15:31:59,875 INFO (org.hibernate.cfg.SettingsFactory:250) - Structured second-level cache entries: disabled
2008-03-24 15:31:59,890 INFO (org.hibernate.cfg.SettingsFactory:270) - Echoing all SQL to stdout
2008-03-24 15:31:59,890 INFO (org.hibernate.cfg.SettingsFactory:277) - Statistics: disabled
2008-03-24 15:31:59,890 INFO (org.hibernate.cfg.SettingsFactory:281) - Deleted entity synthetic identifier rollback: disabled
2008-03-24 15:31:59,890 INFO (org.hibernate.cfg.SettingsFactory:296) - Default entity-mode: pojo
2008-03-24 15:31:59,937 INFO (org.hibernate.impl.SessionFactoryImpl:161) - building session factory
2008-03-24 15:32:00,390 INFO (org.hibernate.impl.SessionFactoryObjectFactory:82) - Not binding factory to JNDI, no JNDI name configured
2008-03-24 15:32:00,531 INFO (org.springframework.beans.factory.support.DefaultListableBeanFactory:273) - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [sessionFactory,userDao,mgr,transactionManager,transactionInterceptor,org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator]; root of BeanFactory hierarchy}
2008-03-24 15:32:00,531 INFO (org.springframework.orm.hibernate3.LocalSessionFactoryBean:188) - Closing Hibernate SessionFactory
2008-03-24 15:32:00,531 INFO (org.hibernate.impl.SessionFactoryImpl:767) - closing
2008-03-24 15:32:00,531 INFO (org.hibernate.connection.DriverManagerConnectionProvider:147) - cleaning up connection pool: jdbc:mysql://localhost:3306/loginreg
2008-03-24 15:32:00,531 ERROR (org.springframework.web.context.ContextLoader:205) - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionInterceptor' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'transactionAttributes' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
Caused by:
org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'transactionAttributes' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
Caused by:
java.lang.NoSuchMethodError: org.springframework.util.StringUtils.containsWhitespace(Ljava/lang/String;)Z
at org.springframework.transaction.interceptor.TransactionAttributeEditor.setAsText(TransactionAttributeEditor.java:59)
at org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource.setProperties(NameMatchTransactionAttributeSource.java:93)
at org.springframework.transaction.interceptor.TransactionAspectSupport.setTransactionAttributes(TransactionAspectSupport.java:151)
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.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:789)
at2008-3-24 15:32:00 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-3-24 15:32:01 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-3-24 15:32:01 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/93 config=null
2008-3-24 15:32:01 org.apache.catalina.startup.Catalina start
信息: Server startup in 7812 ms
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:608)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValue(AbstractPropertyAccessor.java:49)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:74)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:970)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.resolveInterceptorNames(AbstractAutoProxyCreator.java:402)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:349)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:249)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:311)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1038)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-03-24 15:32:00,750 INFO (org.hibernate.connection.DriverManagerConnectionProvider:147) - cleaning up connection pool: jdbc:mysql://localhost:3306/loginreg

 

   
时间:2008-04-01
引用

<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>userManger</value>
</list>
</property>
...</bean>

我感觉<list><ref local="userManger" /></list> 试试!
   
0 请登录后投票
时间:2008-04-07
人家楼主是使用名字匹配切入点。

要改也就是改成
<property name="beanNames">
<list>
<value>*Manger</value>
</list>
</property>

你上面改的是什么呀??

 spring 2.0的例子,好象很多。

JAVAEYE
上也有很多例子,

偶就不把偶的项目中配的放上来现丑了。


但我也没看出楼主为什么就错了。
   
0 请登录后投票
时间:2008-04-07
但是错误上说,
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>

这一段有错,

没看出来。。。
   
0 请登录后投票
时间:2008-04-08
我也是一知半解
正看一些spring相关的书
请教?用楼主这样的自动匹配名称拦截
属性transactionAttributes与transactionAttributeSource
是否都可用?
它匹配方法命名是不是应包括包名,类名?
我这本书的用例是
<property name="beanNames"><list><idref local="xx"/></list>
</property>的用法是错误的?
   
0 请登录后投票
论坛首页 Java版 Spring

跳转论坛:
JavaEye推荐