我有一个使用Maven构建的Spring Boot应用程序,该应用程序使用JDBC。 application.yml
文件具有
spring:
application:
(stuff)
datasource:
url: jdbc:informix-sqli://......
driver-class-name: com.informix.jdbc.IfxDriver
我想将JDBC特定部分移动到库中,所以现在app/src/main/resources/application.yml
仅包含
spring:
application:
(stuff)
和datasource
配置参数必须存在于库存储库中。我尝试使用{p>创建lib/src/main/resources/application.yml
spring:
datasource:
url: jdbc:informix-sqli://......
driver-class-name: com.informix.jdbc.IfxDriver
希望当Spring加载时,两个yml文件都将被拾取并合并。显然不是。
库和应用程序构建良好,但是当我运行时
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
如何获取库中的配置以合并到应用程序中的application.yml
配置中?
答案 0 :(得分:0)
您可以使用@PropertySource。您必须实现自己的PropertySourceFactory 如果您的道具是Yaml格式。然后在PropertySource中定义它
expressions = re.findall(r"[abcd]\d+|ab\d+|abcd\d+",line)
print(expressions)
答案 1 :(得分:0)
我一直发现,使用spring-boot将子模块的外部配置“合并”到最坏的时候是有问题的,充其量是令人困惑的。现在,我使用两种方法之一来组织所有外部配置。但是首先,有多种方法可以指定外部配置,您应该注意以下几点:
我以前会指定多个位置,并且可以使用。但是,我现在通常使用两种方法之一来避免混淆:
或
弹簧引导的外部配置处理AFAICT并非理想地设置为具有独立子模块配置。它更倾向于配置属于运行时/可执行模块而不是库的概念。