我有很多动作(即:在扩展Controller的类中返回Result类型的静态方法),这在我的应用程序中几乎相同。这是关于粗暴行为。我有bdd表,对于每个表,我实现了以下操作:list,new,update ...唯一改变的是与表关联的Model类的类型。
如果仅更改类型,则需要调用泛型函数!问题是:没有办法在java中创建通用的静态函数。所以行动不能是通用的。
描述here的解决方案不再有效。 此功能非常重要,必须在某个地方实施。我已经想过的一个想法:
行动作文
动作合成是一种在另一个之前调用函数的方法。由于动作不是静态的,因此创建通用动作是非常可能的。
问题1:如何通过注释传递泛型?
问题2:我已经使用了动作组合来确保用户已登录。由于我的登录操作是类范围而普通的crud操作将是方法范围,因此将在登录操作之前处理crud操作并且没有改变它的方法。
结论
这非常重要,因为我将有20多个表,我想尽可能少地复制过去。
是否有办法实现可以重复使用的通用操作(即:静态),并尽可能多地覆盖。
答案 0 :(得分:0)
我找到的解决方案是使用play2-crud插件进行播放。你可以找到它here。
这个插件的专业人士:
路线系统。将自动生成视图和休息(ajax)的创建/更新/删除/显示的所有路由。
可以拥有一个MyController类,其中action不是静态的,可以使用泛型,被删除和覆盖!这解决了问题中解释的问题!
已经创建了crud数据库通信的引擎。虽然我需要调整它以获得更好的错误管理,但它仍然是一个有用的东西。
使用dao(数据访问对象),可以在将对象保存到数据库之前轻松添加检查。
自动为crud froms生成表单。如果您想进行后端数据库管理,则非常有用,但您必须为用户重新绘制所有内容。
此插件的缺点:
总结我使用它并且我很满意,所以试一试!