我已經使用Roo構建了一個小模型。模型中有6個對象具有不同的關係 - 它很整潔,花了20分鐘!現在我已經擁有它了,我想創建Spring MVC項目並使用領域模型 - 但是我想讓Web項目與Roo項目完全分離(我不明白Spring MVC在Roo中使用腳手架)。如何在普通Web應用程序中使用Spring Roo域模型
所以我在web項目的pom.xml中創建了依賴關係,我可以使用'mvn tomcat:run'構建和部署web項目。然而,當網頁嘗試使用Spring Roo的對象,我得到的例外是這樣的:
java.lang.IllegalStateException: Entity manager has not been injected (is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)
at com.loquatic.clcmops.consignortool.entities.Consignor_Roo_Jpa_ActiveRecord.entityManager_aroundBody0(Consignor_Roo_Jpa_ActiveRecord.aj:19)
at com.loquatic.clcmops.consignortool.entities.Consignor_Roo_Jpa_ActiveRecord.ajc$interMethod$com_loquatic_clcmops_consignortool_entities_Consignor_Roo_Jpa_ActiveRecord$com_loquatic_clcmops_consignortool_entities_Consignor$entityManager(Consignor_Roo_Jpa_ActiveRecord.aj:1)
at com.loquatic.clcmops.consignortool.entities.Consignor.entityManager(Consignor.java:1)
我曾經在一個獨立的項目這樣做的一個項目,我有一個類,它有一個main()方法和我必須添加一行代碼才能正確加載上下文(這基本上是:How to use JUnit tests with Spring Roo? (Problems with EntityManager))。這是Spring MVC,我認爲它是自動發生的 - 我顯然是錯誤的。
那麼,我需要在web項目中做些什麼來獲取爲Roo jar文件加載的上下文嗎?或者我是否需要更改roo jar文件項目中的某些內容?我是否需要用控制器註釋來讓它開心?
我試着加入以下在Web項目中的pom.xml:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${org.springframework-version}</version>
</dependency>
和
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
但是,這並沒有改變任何東西 - 這是一些嚴重的猜測工作也是如此。
任何人有任何指針?你如何在另一個不一定是Roo項目的項目中使用Spring域模型?
謝謝!
好像你已經將Spring上下文文件和Web模塊一起移動了。 – bhagyas 2012-03-07 12:23:25