gpt4 book ai didi

java - Seam的设计问题

转载 作者:行者123 更新时间:2023-11-30 11:56:42 24 4
gpt4 key购买 nike

我有一个聪明的程序,它给出了一个包含非常具体的数据库元数据的文件,在 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

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

关于java - Seam的设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com