<bean id="userDAO" class="dgut.ke.dao.impl.UserDAO"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userService" parent="txProxyTemplate" class="dgut.ke.service.impl.UserService"> <property name="userDAO" ref="userDAO" /> </bean> ... .... 启动Tomecat时出了错.之前没有添加事务处理时.上面的代码是可以正常运行的.添加事务之后却出现以下错误 ERROR - 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 'userService' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'transactionManager' of bean class [dgut.ke.service.impl.UserService]: Bean property 'transactionManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'transactionManager' of bean class [dgut.ke.service.impl.UserService]: Bean property 'transactionManager' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 解决办法 把 <bean id="userService" parent="txProxyTemplate" class="dgut.ke.service.impl.UserService"> <property name="userDAO" ref="userDAO" /> </bean> 换成以下代码就可以正常运行了 <bean id="userService" parent="txProxyTemplate"> <property name="target"> <bean class="dgut.ke.service.impl.UserService"> <property name="userDAO" ref="userDAO"></property> </bean> </property> </bean>