ResultSet rs = null;
// 获取spring Environment
MutablePropertySources propertySources = event.getEnvironment().getPropertySources();
// 配置放在了application-pro或者是application-dev 中 赋值复制需要在其中赋值
for (PropertySource<?> propertySource : propertySources) {
boolean applicationConfig = propertySource.getName().contains(“application-”);
if (!applicationConfig) {
continue;
}
// 获取上文的application集合中获取数据库连接
Map<String, OriginTrackedValue> dataBaseSource =
(Map<String, OriginTrackedValue>)propertySource.getSource();
String driverClass = String.valueOf(dataBaseSource.get(“spring.datasource.driver-class-name”).getValue());
String url = String.valueOf(dataBaseSource.get(“spring.datasource.url”).getValue());
String user = String.valueOf(dataBaseSource.get(“spring.datasource.username”).getValue());
String password = String.valueOf(dataBaseSource.get(“spring.datasource.password”).getValue());
// 因为在spring初始化之前 所有不能使用注解 所以需要jdbc直接连接数据库 首先建立驱动
try {
Class.forName(“oracle.jdbc.driver.OracleDriver”);
conn = DriverManager.getConnection(url, user, password);
// 1、获取连接对象
// 2、创建statement类对象,用来执行SQL语句!!
st = conn.createStatement();
// 3、创建sql查询语句
String sql = “select * from SYS_CONFIGURE”;
// 4、执行sql语句并且换回一个查询的结果集
rs = st.executeQuery(sql);
while (rs.next()) {
// 获取数据库中的数据
String item = rs.getString(“ITEM”);
String itemValue = rs.getString(“ITEM_VALUE”);
// 通过数据库中的配置 修改application集合中数据
Map<String, OriginTrackedValue> source =
(Map<String, OriginTrackedValue>)propertySource.getSource();
OriginTrackedValue originTrackedValue = source.get(item);
OriginTrackedValue newOriginTrackedValue =
OriginTrackedValue.of(itemValue, originTrackedValue.getOrigin());
source.put(item, newOriginTrackedValue);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(TestApplication.class);
app.addListeners(new ConfigureListener());
app.run(args);
}
}
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
(img-zCyGQFJ3-1725739153145)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0