4.2.2. 在应用中使用 MicroProfile Config 属性


创建使用配置的 ConfigSource 的应用。

先决条件

  • JBoss EAP 中启用了 MicroProfile Config。
  • 安装了最新的 POM。
  • Maven 项目已配置为创建 MicroProfile 配置应用。

流程

  1. 创建用于存储类文件的目录:

    $ mkdir -p APPLICATION_ROOT/src/main/java/com/example/microprofile/config/
    Copy to Clipboard Toggle word wrap

    其中 APPLICATION_ROOT 是含有应用的 pom.xml 配置文件的目录。

  2. 进入新目录:

    $ cd APPLICATION_ROOT/src/main/java/com/example/microprofile/config/
    Copy to Clipboard Toggle word wrap

    在此目录中创建此流程中描述的所有类文件。

  3. 创建名为 HelloApplication.java 的类文件,其包含以下内容:

    package com.example.microprofile.config;
    
    import javax.ws.rs.ApplicationPath;
    import javax.ws.rs.core.Application;
    
    @ApplicationPath("/")
    public class HelloApplication extends Application {
    
    }
    Copy to Clipboard Toggle word wrap

    此类将应用定义为 Jakarta RESTful Web Services 应用。

  4. 创建名为 HelloService.java 的类文件,其内容如下:

    package com.example.microprofile.config;
    
    public class HelloService {
    	String createHelloMessage(String name){
            return "Hello " + name;
        }
    }
    Copy to Clipboard Toggle word wrap
  5. 创建名为 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 + "\"}";
    	}
    }
    Copy to Clipboard Toggle word wrap
    1
    MicroProfile Config 属性通过注释 @ConfigProperty(name="name", defaultValue="jim") 注入到类中。如果没有配置 ConfigSource,则返回 value jim
  6. src/main/webapp/WEB-INF/ 目录中创建一个名为 beans.xml 的空 文件:

    $ touch APPLICATION_ROOT/src/main/webapp/WEB-INF/beans.xml
    Copy to Clipboard Toggle word wrap

    其中 APPLICATION_ROOT 是含有应用的 pom.xml 配置文件的目录。

  7. 进入应用程序的根目录:

    $ cd APPLICATION_ROOT
    Copy to Clipboard Toggle word wrap

    其中 APPLICATION_ROOT 是含有应用的 pom.xml 配置文件的目录。

  8. 构建项目:

    $ mvn clean install wildfly:deploy
    Copy to Clipboard Toggle word wrap
  9. 测试输出:

    $ curl http://localhost:8080/microprofile-config/config/json
    Copy to Clipboard Toggle word wrap

    以下是预期的输出:

    {"result":"Hello jim"}
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部