Spring Boot - 在初始化DataSource bean之前运行自定义代码

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

在标题中 - 如何在初始化DataSource bean之前在Spring Boot应用程序中运行一些自定义代码?

我的DataSource bean的配置基于标准的spring.datasource。*属性,所以这里没什么异常 - 我不是手动创建DataSource bean,而是依赖Sprig Boot的自动配置机制,并希望这样做, 如果可能的话。

我想要实现的目标是在我的Spring Boot应用程序启动时使用Cloud SQL Admin API Client Library for Java配置Google Cloud SQL数据库实例,但是在初始化DataSource bean之前,以便在实际创建此bean时,数据库实例已经存在。

谢谢

java spring-boot google-cloud-platform
1个回答
2
投票

您可以手动创建DataSource bean,同时仍然依赖于Spring Boots自动配置。您需要做的就是指定spring.datasource属性前缀

@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {

    // provision your Google Cloud SQL database instance here

    return DataSourceBuilder.create().build();
}
© www.soinside.com 2019 - 2024. All rights reserved.