在Spring引导应用程序中重新加载bean配置xml文件,而无需重新启动

时间:2018-02-13 13:58:37

标签: xml spring spring-boot configuration reload

应用程序类。

@SpringBootApplication
public class ServerBApplication {

public static void main(String[] args) {
    SpringApplication.run(ServerBApplication.class, args);
}

private Student stu;

public ServerBApplication() {
    FileSystemXmlApplicationContext cont = new FileSystemXmlApplicationContext("./config/student.xml");
    stu = cont.getBean(Student.class);
    cont.close();
    cont.destroy();
}

@Bean
Student stu() {
    return stu;
}
}

和xml文件

<bean id="stu" name="stu" class="com.example.demo.Student">
    <property name="id" value="100"></property>
    <property name="name" value="summer"></property>
</bean>

重新加载控制器。

@RestController
public class ReloadController {

@Autowired
Student stu;

@RequestMapping(value = "/reload", method = RequestMethod.GET)
public String reload() {
    FileSystemXmlApplicationContext cont = new FileSystemXmlApplicationContext("./config/student.xml");
    stu = cont.getBean(Student.class);
    cont.close();
    cont.destroy();
    return "Reload success." + stu.toSting();
}
}

我想要更改 ./ config / student.xml 的某些价值/属性,然后运行方法 / reload ,但我仍然可以获得学生价值

  

ID:100,名称:夏天

有人告诉我在不重新启动应用程序的情况下运行 / reload 方法时,可以更改 stu 的值/属性。谢谢很多。

0 个答案:

没有答案