根据会话的环境参数设置 Spring Boot 应用程序以连接到不同的数据源

我目前正在构建一个 Spring Boot 应用程序,它需要使用三种不同的数据库环境并以与环境无关的方式运行。

  • “dev”环境将使用本地 sqlite 数据库。

  • “uat”环境将使用 postgres 数据库。

  • “实时”环境将使用 sql 数据库。

在加载时,我的应用程序会检查环境参数是否存在:

  • 如果没有设置或者环境参数是dev,那么它将创建一个本地sqlite数据库并在会话期间与其建立连接。

  • 如果它设置为uat,那么将建立到heroku postgres 数据库的连接。

  • 如果设置为 live,则将建立到 mysql 数据库的连接。

现在我目前正在努力在 Java 上将其概念化。

这是我到目前为止编写的代码,我在其中获取环境参数。除此之外,我不确定要做什么。

@SpringBootApplication

public class Launcher implements CommandLineRunner {


    public static void main(String args[]) {

        SpringApplication.run(Launcher.class, args);

    }


    @Override

    public void run(String... args) throws Exception {

        String currentEnvironment = System.getenv("CURRENT_ENV");


        // if current env is null or dev, set up sqlite database (if it doesnt already exist and use this for the remainder of the session


        // if uat connect to heroku postgres db


        // if live then connect to mysql db

    }

}


料青山看我应如是
浏览 169回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java