在Spring动态创建bean

Dynamic creation of beans in Spring

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

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

谢谢


您可以尝试动态注册bean的方法。您可以为此目的使用BeanDefinitionBuilder。在这里查看示例。但是正如@Darren所说,通过DB查找来破坏Bean不是一个明智的主意。


1:提高接受率

2:您可能会从ORM方法(Hibernate或JPA)中受益。另一个可能适合您的方法是ActiveRecord模式,例如在ActiveJDBC中实现的模式。

Spring本身并不能提供您所需要的东西,但是结合使用spring-jpa和Hibernate可能会使您更接近目标。如果OTOH,您想要自动生成的代码,还可以查看Spring-Roo之类的内容


您可能想多考虑一下。即使您使字段完全可配置,您仍然必须编写访问它们的代码。考虑到您仍然必须编写代码,最好将所有内容保留在代码中。这样要简单得多。