Java SpringRoo不生成积垢

Java SpringRoo不生成积垢,java,jaxb,crud,spring-roo,Java,Jaxb,Crud,Spring Roo,在SpringRoo中,我使用自定义xsd生成对象。 之后,我使用命令controller all~.web,生成了控制器,但没有CRUD函数。 如果我在Roo中创建手动对象,则会生成带有CRUD函数的控制器。知道问题出在哪里吗? 在我的例子中,模式文件xsd对于REST数据交换非常重要。SpringRoo在.java源文件旁边生成AspectJ(.aj)文件。因此,在源文件中看不到这些方法。它们在.aj文件中,但在编译后出现在生成的.class文件中。Spring Roo在.java源文件旁边

在SpringRoo中,我使用自定义xsd生成对象。
之后,我使用命令controller all~.web,生成了控制器,但没有CRUD函数。

如果我在Roo中创建手动对象,则会生成带有CRUD函数的控制器。知道问题出在哪里吗?


在我的例子中,模式文件xsd对于REST数据交换非常重要。

SpringRoo在.java源文件旁边生成AspectJ(.aj)文件。因此,在源文件中看不到这些方法。它们在.aj文件中,但在编译后出现在生成的.class文件中。

Spring Roo在.java源文件旁边生成AspectJ(.aj)文件。因此,在源文件中看不到这些方法。它们位于.aj文件中,但在编译后会出现在生成的.class文件中。

您所指的教程确实解释了如何基于提供的xml架构创建Java(域)模型,但当前使用的是controller all~.web命令(版本1.1.0)仅为实际Roo(数据库)实体创建控制器和相应的CRUD函数。由于生成的Java类没有标记为Roo实体,controller命令将不会创建您期望的CRUD命令,正如您所述,它将为手动创建的实体创建CRUD命令,因为这些实体被标记为Roo实体(请参阅这些实体上的@RooEntity注释)

正如本教程所述,在使用SpringRooJAXB插件时,您需要手动更新控制器和视图(*.jspx)文件以实现CRUD功能。通过查看论坛和Jira问题,我知道目前有一些想法,也可以让SpringRoo为普通(非实体)bean创建基本的CRUD功能(请参阅问题及其相关的Roo-277问题),但这些只是目前的想法,很可能不会在不久的将来实现。因此,当使用XML模式作为Spring Roo域模型的基础时,您仍然需要进行大量的手动编码来创建一个基本的CRUD应用程序,而不是使用数据库作为生成域模型的基础,因为它基本上是在Roo shell中执行两个命令,您就完成了


如果您的XML模式只是域模型的一个定义,并且您确实希望您的应用程序将数据存储在数据库中并从数据库中检索数据,就像调用REST webservice来检索和存储更改一样,您可以尝试使用jaxb插件生成模型,然后对生成的类进行注释,但由于我自己以前没有这样做过,我不确定这是否可行,但可能值得一试。

您所指的教程确实解释了如何基于提供的xml模式创建Java(域)模型,但当前使用的是controller all~.web命令(版本1.1.0)仅为实际Roo(数据库)实体创建控制器和相应的CRUD函数。由于生成的Java类没有标记为Roo实体,controller命令将不会创建您期望的CRUD命令,正如您所述,它将为手动创建的实体创建CRUD命令,因为这些实体被标记为Roo实体(请参阅这些实体上的@RooEntity注释)

正如本教程所述,在使用SpringRooJAXB插件时,您需要手动更新控制器和视图(*.jspx)文件以实现CRUD功能。通过查看论坛和Jira问题,我知道目前有一些想法,也可以让SpringRoo为普通(非实体)bean创建基本的CRUD功能(请参阅问题及其相关的Roo-277问题),但这些只是目前的想法,很可能不会在不久的将来实现。因此,当使用XML模式作为Spring Roo域模型的基础时,您仍然需要进行大量的手动编码来创建一个基本的CRUD应用程序,而不是使用数据库作为生成域模型的基础,因为它基本上是在Roo shell中执行两个命令,您就完成了


如果您的XML模式只是域模型的一个定义,并且您确实希望您的应用程序将数据存储在数据库中并从数据库中检索数据,就像调用REST webservice来检索和存储更改一样,您可以尝试使用jaxb插件生成模型,然后对生成的类进行注释,但由于我自己以前没有这样做过,我不确定这是否有效,但这可能值得一试。

Tnx以获取答案。是的,正常情况下Roo生成.aj文件,但不使用从xsd生成类的插件jaxb xsd编译器设置。主要问题是没有生成类的CRUD视图。知道为什么吗?如果我们没有看到CRUD操作,这是否意味着我们应该在控制器中对数据进行任何验证/格式化?不确定这里的最佳实践是什么?答案是Tnx。是的,正常情况下Roo生成.aj文件,但不使用从xsd生成类的插件jaxb xsd编译器设置。主要问题是没有生成类的CRUD视图。知道为什么吗?如果我们没有看到CRUD操作,这是否意味着我们应该在控制器中对数据进行任何验证/格式化?不确定这里的最佳实践是什么?谢谢你回答Tim。因为这个问题是很久以前的事了,所以我在我的项目上走了不同的方向。现在我也看到了教程的作者的回答。谢谢你的回答,蒂姆。因为这个问题是很久以前的事了,所以我在我的项目上走了不同的方向。现在我也看到了教程的作者的回答。