Spring Cloud 客户端使用

2024-01-03 17:08 更新

要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-vault-config的Spring Boot应用程序即可(例如,查看测试用例)。Maven示例配置:

示例101.1 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-vault-config</artifactId>
        <version>{project-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<!-- repositories also needed for snapshots and milestones -->

然后,您可以创建一个标准的Spring Boot应用程序,例如以下简单的HTTP服务器:

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

运行时,它将从端口8200上的默认本地Vault服务器获取外部配置(如果正在运行)。要修改启动行为,您可以使用bootstrap.properties来更改Vault服务器的位置(例如application.properties,但用于应用程序上下文的引导阶段),例如

示例101.2 bootstrap.yml

spring.cloud.vault:
    host: localhost
    port: 8200
    scheme: https
    uri: https://localhost:8200
    connection-timeout: 5000
    read-timeout: 15000
    config:
        order: -10

  • host设置Vault主机的主机名。主机名将用于SSL证书验证
  • port设置Vault端口
  • scheme将方案设置为http将使用纯HTTP。支持的方案是httphttps
  • uri使用URI配置Vault端点。优先于主机/端口/方案配置
  • connection-timeout设置连接超时(以毫秒为单位)
  • read-timeout设置读取超时(以毫秒为单位)
  • config.order设置属性来源的顺序

启用进一步的集成需要附加的依赖关系和配置。根据您设置Vault的方式,可能需要其他配置,例如 SSL身份验证

如果应用程序导入了spring-boot-starter-actuator项目,则可以通过/health端点获得保管库服务器的状态。

可以通过属性management.health.vault.enabled(默认值为true)启用或禁用Vault运行状况指示器。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号