哪个Spring类负责执行schema.sql?

问题描述 投票:0回答:1

我正在创建自己的ORM,现在我需要将从实体类生成的SQL代码推送到数据库中。我的目的不是复制Spring的工作方式,而是查看它在生命周期的哪个阶段以及运行的确切程度。

谢谢

java spring schema
1个回答
1
投票

读取schema.sql并执行它的实际类是DataSourceInitializer#createSchema()

这里是某种程度上触发它的高级流程:

  1. 如果从类路径中找到DataSourceInitializer#createSchema()类,则spring-boot自动配置将启用DataSource
  2. [DataSourceAutoConfiguration导入DataSourceAutoConfiguration
  3. [DataSourceInitializationConfiguration寄存器DataSourceInitializationConfiguration,将被执行并强制初始化DataSourceInitializerPostProcessor
  4. [DataSourceInitializerInvokerDataSourceInitializerInvoker然后将执行afterPropertiesSet以读取并执行DataSourceInitializer#createSchema()
© www.soinside.com 2019 - 2024. All rights reserved.