Hibernate 通过Gradle传递数据库凭据

Hibernate 通过Gradle传递数据库凭据,hibernate,gradle,spring-data,spring-data-jpa,gradle-plugin,Hibernate,Gradle,Spring Data,Spring Data Jpa,Gradle Plugin,我正在使用将用户和密码数据库传递给。另外,我正在使用spring数据存储库和hibernate作为数据层,我希望将liquibase插件的相同配置传递给它。有一种方法可以通过gradle传递凭据(我不想创建application.properties文件,因为凭据已经存储在凭据插件上了) 我正在使用以下代码向liquibase传递凭据: def changelog = "$projectDir/src/main/resources/db_version/changelog-master.xml"

我正在使用将用户和密码数据库传递给。另外,我正在使用spring数据存储库和hibernate作为数据层,我希望将liquibase插件的相同配置传递给它。有一种方法可以通过gradle传递凭据(我不想创建application.properties文件,因为凭据已经存储在凭据插件上了)

我正在使用以下代码向liquibase传递凭据:

def changelog = "$projectDir/src/main/resources/db_version/changelog-master.xml"
def urlDatabase = ...
def schema = ...

liquibase {
    activities{
        main {
            changeLogFile changelog
            url urlDatabase
            username credentials.devUsr
            password credentials.devPass
            defaultSchemaName schema
        }
    }
}
我想做一些类似的事情:

datasource{
    username credentials.devUsr
    password credentials.devPass
}
或者写下属性:

spring.datasource.username credentials.devUsr
spring.datasource.password credentials.devPass

如果您使用的是自动接受环境变量的SpringBoot,则可以通过此机制传递db凭据。这是相应的

若并没有Spring引导,那个么仍然可以通过环境传递变量,但需要在应用程序中实现接受。这是


下面是一个关于的答案。

Spring提供了各种在配置中使用属性的方法和提供属性的方法,包括将它们作为命令行参数或系统属性传递。有关详细信息,请参阅

在Spring配置中设置了这些参数后,您只需指示Gradle将插件中的值作为命令行参数或系统属性传递

这描述了使用Gradle设置系统属性的方法:


这里似乎介绍了传递命令行参数:

您是对的@Jens Schauder和@webdizz,但下面是一个示例:

bootRun{
   systemProperty "spring.datasource.username", credentials.devUsr
   systemProperty "spring.datasource.password", credentials.devPass
}

使用这段代码,我在启动spring boot应用程序时将数据库凭据作为系统属性传递。

提供代码或迄今为止实现的任何内容。