java – 在上下文创建开始时运行

前端之家收集整理的这篇文章主要介绍了java – 在上下文创建开始时运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要在Spring的上下文中初始化PropertyPlaceholderConfigurer之前执行sql脚本,只要应用程序属性存储在数据库中并且此脚本应插入它们.但是目前占位符是先前初始化的,这会导致错误.

有没有办法执行< jdbc:initialize-database data-source =“dataSource”...< bean id =“placeholderConfig”class =“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”...在春天? 或者有没有办法在以后初始化placeholderConfig bean?我试图为这个bean使用depends-on,lazy-init属性,但它没有帮助.提前致谢.

最佳答案
这就是我解决这个问题的方法.我创建了一个类Initializer.该类在其构造函数中执行普通的旧sql语句(java.sql.Statement),创建表(如果它不存在),并插入属性(如果它们不存在). dataSource bean在上下文中传递给此构造函数,而placeholderConfig bean使用depends-on =“initializerBean”.因此,属性在使用之前会出现在数据库中.

猜你在找的Spring相关文章