自定义Spring Boot Starter不适用于属性

时间:2018-12-24 14:19:13

标签: spring-boot spring-boot-starter

创建自定义Spring启动启动器     我的弹簧启动启动器 从    spring-boot-starter-parent。
在我的Starter的源文件夹中,添加包含配置日志记录属性的applicatin.property文件:

-- \i tmp.sql

CREATE  TABLE "select"(id integer);

ALTER TABLE "select"
RENAME TO api_exchange;

\d api_exchange

然后将我的启动器添加到我的spring boot应用程序依赖项中,但是由于某种原因,记录模式不会从启动器更改为我的启动器。 如何描述在我的自定义启动器中要覆盖的spring boot属性(如日志记录属性或默认port属性)?

1 个答案:

答案 0 :(得分:3)

您不能像这样更改应用程序配置。 environment由一组PropertySource实例组成,每个实例描述一个配置源。列表和优先级为documented in the user guide

关于application.properties在类路径的根目录下,您不能在启动程序中使用它,因为这是应用程序配置的非常典型的位置:用户在项目中创建文件后,它将立即优先于您在入门中定义的优先级。

如果要在启动器中操作环境,则需要实现EnvironmentPostProcessor并在PropertySource中添加自定义Environment。这也是described in the documentation