繁体   English   中英

缝的设计问题

[英]Design problem with Seam

我有一个聪明的程序,给定一个包含非常特定的数据库元数据的文件,整个项目都会在eclipse中为我生成。 它使用hibernate访问数据库,并提供基本的crud功能以及xhtml界面。

一切都很好,只要需要简单的操作,几乎可以做任何事情。 但是,当然,我期望迟早要修改此项目以实现某些自定义行为。

我可以只修改项目而从不回头,但是我将失去能够重新生成项目以添加新表和行为的巨大优势。 尽管我可以使用所做的更改生成一个新项目并手动应用这些更改,但我宁愿不必对需要进行的每个更改执行此操作。

不幸的是,无法触摸生成该项目的工具(由于它不是我们的工具,而是产生项目模板的第三方软件公司的工具)。

我注意到它大量使用Seam框架实例化生成的类(使用@In(create = true) )。 无论如何,有没有扩展生成的类,以便重新生成现有类不会覆盖我的更改,而是实例化了这些扩展类?

我是否可以使用某种策略来最小化对生成的类的修改(理想情况是仅通过向项目中添加文件来修改行为,尽管我意识到xhtml文件是不可能的)? 任何帮助将不胜感激,尽管我意识到必须对工具进行一些更改,然后才能进行此操作(例如,工厂?)。

在我看来,这听起来也很像seam-gen。 这可以帮助您: http : //seamframework.org/Community/ModifyingSeamgen

我不喜欢seam-gen。 这是有价的快捷工具。 看到这篇文章http://shervinasgari.blogspot.com/2010/10/why-you-should-not-use-seam-application.html

我喜欢Seam,但是不喜欢/不喜欢seam-gen。 seam-gen不适合实际应用。

除此之外:

@In(create=true) BeanClass beanName

从某些上下文中注入名称为“ beanName”的bean并键入BeanClass。 如果那个bean还不存在,那么它将被创建(因为create = true)。 如果它存在于某些上下文(页面,请求,会话,应用程序,工作流等)中,则会找到它并将其注入到属性beanName中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM