我在 STS ide 中尝试使用 Spring-roo 时遇到了问题。 我创建了一个项目并添加了 EclipseLink ORM,仅此而已。 在 persistence.xml 中,我添加了数据库连接的所有详细信息。 当我尝试运行 spring 项目时,它未能显示我期望的默认 jspx 页面。 这是错误:
2012-07-02 10:45:39,411 [pool-2-thread-1] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in file [/home/ubuntu/springsource/vfabric-tc-server-developer-2.7.0.RELEASE/spring-insight-instance/wtpwebapps/SpringRooStats/WEB-INF/classes/META-INF/spring/applicationContext.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in file [/home/ubuntu/springsource/vfabric-tc-server-developer-2.7.0.RELEASE/spring-insight-instance/wtpwebapps/SpringRooStats/WEB-INF/classes/META-INF/spring/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.reflect.UndeclaredThrowableException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
它提示似乎需要创建一个实体管理器,但我认为 它不应该,因为它应该运行一个不连接到数据库的项目,并且只运行一个简单的 jspx 页面。
是否需要通过实体来完成整个事情才能运行一个简单的项目。 希望有人能帮忙。
最佳答案
您的applicationcontext.xml 定义了一个transactionManager。这就需要一个实体管理者。您需要删除事务管理器或添加实体管理器。
如果您不打算使用 ORM 框架,我也不确定为什么要添加它。
关于java - Spring Roo (STS) - 创建名称为 'transactionManager' 的 bean 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11300182/