1.4. 在 Spring Boot 应用程序中使用无注解配置
通过从 application.properties 和 application.yml 文件提取配置属性,使用 Dekorate 为 Spring Boot application 项目生成 OpenShift 资源配置文件。这个方法不需要您注解应用程序源,因为 Dekorate 可以从 Spring Boot 和属性文件中的配置参数获取所需的元数据。Annontationless configuration 是 Spring Boot 和 Dekorate 之间的丰富框架集成的功能。
先决条件
- 基于 Maven 的应用项目配置为使用 Spring Boot 和 Dekorate。
-
应用项目中至少有一个类标注为
@SpringBootApplication注释。 - Java JDK 8 或 JDK 11 已安装。
- 已安装 Maven。
流程
在应用程序的
pom.xml文件中添加以下依赖项:<project> ... <dependencies> ... <!-- The OpenShift Spring Starter automatically adds "io.dekorate:openshift-annotations" as a transitive dependency --> <dependency> <groupId>io.dekorate</groupId> <artifactId>openshfit-spring-starter</artifactId> <version>${dekorate.version}</version> </dependency> ... </dependencies> ... <project>-
将 Dekorate 配置属性添加到项目中的
application.properties或application.yml文件中。您不必在源文件中添加任何 Dekorate 属性注解。请注意,您仍然可以在源文件中使用注解,但如果您这样做,Dekorate 使用application.properties或application.yml文件中提供的参数覆盖注解中提供的参数。 打包应用程序:
mvn clean package
在构建应用程序 Dekorate 时,会在应用程序项目中的以下资源中解析配置。配置资源会按照增加的优先级顺序解析。这意味着,如果同一配置参数有 2 个不同资源的不同值,则 Dekorate 会使用优先级列表上从较高资源获取的值。例如,如果源中的注解指定了参数值,但为
application.yml中的同一参数指定一个不同的值,Dekorate 会使用它从application.yml获取的值。Dekorate 按照以下优先级顺序解析您的项目资源:- 注解
-
application.properties -
application.yaml -
application.yml
-
导航到
target/classes/META-INF/dekorate目录,其中包含生成的openshift.json和openshift.yml清单文件。