【发布时间】:2020-01-25 06:18:28
【问题描述】:
我使用 spring boot 多个模块,我想从 parent 继承 application.properties。我有父模块:spring-ecommere-demo 和子模块:模型、核心和安全。在父模块中,我将一些配置 jdbc 看起来像:
application.properties(父模块)
spring.datasource.url=jdbc:mysql://localhost:3306/BaoTrung
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.show-sql=true
在子模块安全性中,我的具体配置如下:
application-security.properties(安全模块)
app.jwtSecret= JWTSuperSecretKey
app.jwtExpirationInMs = 604800000
安全模块中 Spring Boot 应用程序中的配置如下所示:
@SpringBootApplication(scanBasePackages = "springecommeredemo")
@PropertySources({
@PropertySource("application-security.properties")
})
但是当我运行它时,它会抛出异常
说明:
未能配置数据源:未指定“url”属性并且 无法配置嵌入式数据源。
原因:无法确定合适的驱动程序类
行动:
考虑以下几点:如果您想要一个嵌入式数据库(H2、HSQL 或 德比),请把它放在类路径上。如果您有数据库设置 要从特定配置文件加载,您可能需要激活它 (配置文件 dev 当前处于活动状态)。
这意味着子模块安全不能从父项目继承属性。如何从父模块继承所有属性。因为我使用相同的数据库,所以我不想在我的项目中配置重复的 jdbc。我想继承公共属性。请帮助
【问题讨论】:
-
如果你有一个
config-server为任何microservice提供配置,就像在这种情况下security一样,这将很容易实现,那么它将起作用。所以你想做什么我会更好地创造一个答案。 -
@JonathanJohx 谢谢你,请帮助我。如果我理解正确,我需要创建子模块 config-server 并将其依赖于安全性?
-
您正在使用的架构是
micro-service吗?对吗? -
@JonathanJohx 是的。正确
标签: java spring maven spring-boot dependency-properties