我有一个配置文件,其中包含 JDBC 连接的默认设置。
应用程序运行后,是否有任何选项可以编辑此默认连接详细信息?在创建所有 bean 之后(在控制器中编辑连接详细信息)。
设想:
- 用户启动应用程序,并可以通过转到 localhost:8080/myapp/db/edit 来编辑连接详细信息
- 填写连接详细信息并保存新的数据库详细信息
这应该会找到现有的连接,更新连接细节并重新实例化 bean。
我有一个配置文件,其中包含 JDBC 连接的默认设置。
应用程序运行后,是否有任何选项可以编辑此默认连接详细信息?在创建所有 bean 之后(在控制器中编辑连接详细信息)。
设想:
这应该会找到现有的连接,更新连接细节并重新实例化 bean。
您可以尝试从中删除 beanSpring Container
并重新启动它们。
Demo demo = getBean(context);
ConfigurableListableBeanFactory configurableListableBeanFactory = context
.getBeanFactory();
BeanDefinitionRegistry beanDefinitionRegistry = (BeanDefinitionRegistry) configurableListableBeanFactory;
// Removing the bean from container
beanDefinitionRegistry.removeBeanDefinition("demo");
// Trying to obtains bean again from container. This will throw a null
demo = getBean(context);
//demo object will be null here
// Creating and registering bean to the container
BeanDefinition beanDefinition = new RootBeanDefinition(Demo.class);
beanDefinition.setAttribute("name", "name");
beanDefinitionRegistry.registerBeanDefinition("demo", beanDefinition);
context.refresh();
//Obtaining from container again
demo = getBean(context);