Java 带接缝的设计问题
我有一个聪明的程序,它提供了一个包含数据库非常特定元数据的文件,在eclipse中为我生成了一个完整的项目。它使用hibernate访问数据库,提供基本的crud功能以及xhtml接口 这一切都非常有效,只要需要简单的操作,几乎任何事情都可以完成。然而,我当然希望我迟早会修改这个项目来实现一些定制行为 我可以只修改项目而不回头,但我将失去能够重新生成项目以添加新表和行为的巨大优势。虽然我可以用我的更改生成一个新项目并手工应用这些更改,但我不希望每次需要进行更改时都这样做 不幸的是,无法触摸生成此项目的工具(因为它不是我们的工具,而是生成项目模板的第三方软件公司的工具) 我注意到它大量使用Seam框架来实例化生成的类(使用Java 带接缝的设计问题,java,code-generation,seam,Java,Code Generation,Seam,我有一个聪明的程序,它提供了一个包含数据库非常特定元数据的文件,在eclipse中为我生成了一个完整的项目。它使用hibernate访问数据库,提供基本的crud功能以及xhtml接口 这一切都非常有效,只要需要简单的操作,几乎任何事情都可以完成。然而,我当然希望我迟早会修改这个项目来实现一些定制行为 我可以只修改项目而不回头,但我将失去能够重新生成项目以添加新表和行为的巨大优势。虽然我可以用我的更改生成一个新项目并手工应用这些更改,但我不希望每次需要进行更改时都这样做 不幸的是,无法触摸生成此
@In(create=true)
)。是否需要扩展生成的类,以便重新生成现有类不会覆盖我的更改,但这些扩展类是否已实例化
是否有一些策略可以用来最小化对生成类的修改(理想的情况是通过向项目中添加文件来修改行为,尽管我意识到这对于xhtml文件是不可能的)?任何帮助都将不胜感激,尽管我意识到在这之前必须对工具进行一些更改(例如工厂?)。这听起来也像seam gen。这可以帮助您: 我不喜欢seam-gen。它是一个价格低廉的快捷工具。看到这个帖子了吗 我喜欢Seam,但我不使用/喜欢Seam-gen。Seam-gen不适合现实世界的应用程序 除此之外:
@In(create=true) BeanClass beanName
从某个上下文注入一个名为“beanName”并键入BeanClass的bean。如果该bean还不存在,那么将创建它(因为create=true)。如果它存在于某个上下文中(页面、请求、会话、应用程序、工作流等),它将被找到,并被注入到属性beanName中。听起来很像seam-gen。这就是您正在使用的吗?很可能,尽管我不能确定。几天前刚刚参加了速成班,我仍然缺少很多关于它如何工作的细节。谢谢你的反馈。是的,听上去,我也不太喜欢这个seam gen。嗯,也许我可以在文档中找到一些东西。