1

我有一个配置文件,其中包含 JDBC 连接的默认设置。

应用程序运行后,是否有任何选项可以编辑此默认连接详细信息?在创建所有 bean 之后(在控制器中编辑连接详细信息)。

设想:

  • 用户启动应用程序,并可以通过转到 localhost:8080/myapp/db/edit 来编辑连接详细信息
  • 填写连接详细信息并保存新的数据库详细信息

这应该会找到现有的连接,更新连接细节并重新实例化 bean。

4

1 回答 1

0

您可以尝试从中删除 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); 
于 2013-08-16T12:00:06.527 回答