Java 来自数据库的Bean和依赖项注入配置,而不是XML

Java 来自数据库的Bean和依赖项注入配置,而不是XML,java,xml,spring,spring-mvc,dependency-injection,Java,Xml,Spring,Spring Mvc,Dependency Injection,目前,我们在Application-Context.xml文件中定义了所有服务类配置。应用程序上下文将在应用程序启动期间使用上下文文件中定义的所有bean初始化,spring处理依赖项注入 我正在寻找一种解决方案,它必须在运行时根据数据库中的特定参数加载特定的服务类 例如,代码库中存在两个类,如FooService1.java和FooService2.java。每个类都与相应的DAO类(如FooDAO1.java和FooDAO2.java)具有依赖关系 运行时参数不是在applciation-c

目前,我们在Application-Context.xml文件中定义了所有服务类配置。应用程序上下文将在应用程序启动期间使用上下文文件中定义的所有bean初始化,spring处理依赖项注入

我正在寻找一种解决方案,它必须在运行时根据数据库中的特定参数加载特定的服务类

例如,代码库中存在两个类,如FooService1.java和FooService2.java。每个类都与相应的DAO类(如FooDAO1.java和FooDAO2.java)具有依赖关系

运行时参数不是在applciation-context.xml文件中定义这些,而是决定需要加载哪个服务以及需要注入哪个服务的对应DAO。基本上,我在这里试图实现的是面向数据库的依赖注入,以将所有应用程序上下文信息保留在数据库中,而不是XML中

表看起来像:服务bean、DAO bean和一些中间表,它们具有依赖性信息


我刚在春天看了JdbcBeanDefinitionReader类。我可以用它来实现面向数据库的DI吗?在这方面我没有看到太多的例子。如果有人有任何例子,请告诉我。

我认为您可以在运行时生成bean并将它们注册到spring上下文


希望有帮助

您可以自定义实现
BeanFactory
,这将从数据库中获取bean定义。谢谢Ken!你知道有什么样的申请可以参考吗?是否有任何开源应用程序/框架实现了自定义bean工厂?不幸的是,没有。我还没有看到现成的实现。