【问题标题】:Alternative way to create a db2 database connection in spring boot在 Spring Boot 中创建 db2 数据库连接的替代方法
【发布时间】:2022-06-10 20:18:03
【问题描述】:

我需要创建一个不同类型的db2连接,在一个类或一个方法中,因为我不能使用属性,我不能使用bean,它必须在spring boot启动后加载

有什么想法吗?

【问题讨论】:

  • 是springboot app,不能用properties或者beans?那请问你为什么用Springboot?无论如何,你总是可以通过一个简单的 JDBC 连接去上学:示例:ibm.com/docs/en/db2-for-zos/… 只要确保你有驱动程序。
  • 我知道...这很奇怪但只是在应用程序的开头,然后我可以使用它

标签: java spring spring-boot db2 spring-boot-test


【解决方案1】:

如果要在初始化后运行,使用:

@EventListener(ApplicationReadyEvent.class)
public void doSomethingAfterStartup() {
...
}

您可以通过 Java 代码或使用 Spring 本身创建一个普通的 JDBC 连接:

DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName("org.h2.Driver");
dataSourceBuilder.url("jdbc:h2:mem:test");
dataSourceBuilder.username("SA");
dataSourceBuilder.password("");
return dataSourceBuilder.build();

如果想法只是在开始时在数据库中插入一些东西,或者配置一些东西,你也可以使用 CommandLineRunner,并且可以选择定义 Order:

@Bean
    @Order(1)
    public CommandLineRunner run(RestTemplate restTemplate) {
        return args -> servico.testeQuote();
    }    

如果你需要2个数据源是可行的,但你必须将每个数据源分开放在一个包中,并且必须设置一个为@Primary。这里解释一下:https://www.baeldung.com/spring-boot-configure-multiple-datasources

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2020-01-11
    • 2019-04-12
    • 2022-07-24
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多