目前,我们在Application-Context.xml文件中定义了所有服务类配置。应用程序上下文将在应用程序启动期间初始化,并在上下文文件中定义所有bean,并且spring处理依赖项注入。
我正在寻找一种解决方案,它必须根据数据库中的特定参数在运行时加载特定的服务类。
例如,代码库中存在两个类,例如FooService1.java和FooService2.java。每个类都将依赖于适当的DAO类,如FooDAO1.java和FooDAO2.java。
运行时参数不是在applciation-context.xml文件中定义这些,而是决定需要加载哪些服务以及需要注入的相应DAO。基本上我在这里想要实现的是面向数据库的依赖注入,以将所有应用程序上下文信息保存在数据库而不是XML中。
表格看起来像:SERVICE_BEANS,DAO_BEANS和一些具有依赖性信息的中间表。
我刚刚在春天看到了JdbcBeanDefinitionReader类。我可以用它来实现面向数据库的DI吗?我没有在这方面看到很多例子。如果有人有任何例子,请告诉我。
答案 0 :(得分:0)
我认为你可以生成bean @ runtime并将它们注册到spring-context。
请参阅Registering beans(prototype) at runtime in Spring
希望有所帮助!