【问题标题】:Dynamic creation of beans in Spring在 Spring 中动态创建 bean
【发布时间】:2012-01-03 11:26:20
【问题描述】:

春天有没有一种方法,我们可以从数据库表中读取 bean 的字段并创建一个完整的 bean 类 - 在服务器启动时使用 getter 和 setter????

我需要这样才能使我的应用程序完全可配置...就像将来我必须添加一个新字段一样,我所需要的只是在 db 中添加一个字段,并且 bean setter 和 getter 将可用于我。

谢谢

【问题讨论】:

  • 问问自己,运行时动态生成是否是您真正需要/想要的。如果是这样,你最好使用 Ruby/Rails 或 Groovy/Grails。

标签: spring dynamic javabeans creation


【解决方案1】:

您可以尝试动态注册 bean 的方法。为此,您可以使用BeanDefinitionBuilder。查看示例here。但正如@Darren 所说,通过数据库查找来破解 bean 并不是一个明智的主意。

【讨论】:

    【解决方案2】:

    1:提高你的接受率

    2:您可能会受益于 ORM 方法(Hibernate 或 JPA)之类的方法。另一个可能适合您的稍微不同的方法是 Active Record 模式,例如在ActiveJDBC 中实现。

    Spring 本身并没有提供您所追求的任何东西,但是将 spring-jpa 与 Hibernate 一起使用可能会让您更接近您的目标。如果,OTOH,您想要自动生成的代码,您还可以查看 Spring-Roo

    【讨论】:

      【解决方案3】:

      您可能需要多考虑一下。即使您使您的字段完全可配置,您仍然必须编写访问它们的代码。鉴于无论如何您都必须编写代码,不妨将所有内容都保留在代码中。这样就简单多了。

      【讨论】:

      • 嗯...是的...明白你的意思达伦...任何其他方式我们可以做到这一点...我的用例如下:我们有一个jsp表单...如果我们将来会有新字段,我们只想通过配置来处理它...这将包括将表单字段与 java 字段绑定,对这些字段应用验证..等等..
      • 编写使应用程序具有这种可配置性的代码要比在需要时编写所需的代码要困难得多。如果您真的真的想通过配置来驱动这些东西,那么您不想在尝试动态生成类时四处乱窜。使用哈希图或其他数据结构可能会更好。
      猜你喜欢
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 2017-11-19
      • 2013-11-16
      • 2012-08-18
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多