4.2.2. 在应用中使用 MicroProfile Config 属性
创建使用配置的 ConfigSource 的应用。
先决条件
- JBoss EAP 中启用了 MicroProfile Config。
- 安装了最新的 POM。
- Maven 项目已配置为创建 MicroProfile 配置应用。
流程
创建用于存储类文件的目录:
$ mkdir -p APPLICATION_ROOT/src/main/java/com/example/microprofile/config/其中
APPLICATION_ROOT是含有应用的pom.xml配置文件的目录。进入新目录:
$ cd APPLICATION_ROOT/src/main/java/com/example/microprofile/config/在此目录中创建此流程中描述的所有类文件。
创建名为
HelloApplication.java的类文件,其包含以下内容:package com.example.microprofile.config; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/") public class HelloApplication extends Application { }此类将应用定义为 Jakarta RESTful Web Services 应用。
创建名为
HelloService.java的类文件,其内容如下:package com.example.microprofile.config; public class HelloService { String createHelloMessage(String name){ return "Hello " + name; } }创建名为
HelloWorld.java的类文件,其包含以下内容:package com.example.microprofile.config; import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import org.eclipse.microprofile.config.inject.ConfigProperty; @Path("/config") public class HelloWorld { @Inject @ConfigProperty(name="name", defaultValue="jim")1 String name; @Inject HelloService helloService; @GET @Path("/json") @Produces({ "application/json" }) public String getHelloWorldJSON() { String message = helloService.createHelloMessage(name); return "{\"result\":\"" + message + "\"}"; } }- 1
- MicroProfile Config 属性通过注释
@ConfigProperty(name="name", defaultValue="jim")注入到类中。如果没有配置ConfigSource,则返回 valuejim。
在
src/main/webapp/WEB-INF/ 目录中创建一个名为文件:beans.xml的空$ touch APPLICATION_ROOT/src/main/webapp/WEB-INF/beans.xml其中
APPLICATION_ROOT是含有应用的pom.xml配置文件的目录。进入应用程序的根目录:
$ cd APPLICATION_ROOT其中
APPLICATION_ROOT是含有应用的pom.xml配置文件的目录。构建项目:
$ mvn clean install wildfly:deploy测试输出:
$ curl http://localhost:8080/microprofile-config/config/json以下是预期的输出:
{"result":"Hello jim"}