开始

支持 Spring Vault 需要 Vault 0.6 及以上版本,Java SE 6 或更高版本。一个简单的启动工作环境方法是在 STS 中创建一个基于 Spring 的项目。spring-doc.cadn.net.cn

首先你需要搭建一个运行中的Vault服务器。关于如何启动Vault实例的说明,请参考Vaultspring-doc.cadn.net.cn

要在 STS 中创建 Spring 项目,请点击 File → 新→Spring 模板项目 → Simple Spring 工具项目 →提示时按“是”。然后输入项目和包名,例如org.spring.vault.example.spring-doc.cadn.net.cn

然后将以下内容加入pom.xml依赖部分。spring-doc.cadn.net.cn

示例1。添加Spring Vault依赖
<dependencies>

  <!-- other dependency elements omitted -->

  <dependency>
    <groupId>org.springframework.vault</groupId>
    <artifactId>spring-vault-core</artifactId>
    <version>4.0.0</version>
  </dependency>

</dependencies>

如果你使用快照,还需要将 Spring 快照仓库的位置添加到你的 maven 中pom.xml这和你的水平是一样的<依赖关系/>元素。spring-doc.cadn.net.cn

<repositories>
  <repository>
    <id>spring-snapshot</id>
    <name>Spring Maven SNAPSHOT Repository</name>
    <url>https://repo.spring.io/snapshot</url>
  </repository>
</repositories>

创建一个简单的秘密要持续存在的类:spring-doc.cadn.net.cn

示例2。映射数据对象
package org.spring.vault.example;

public class Secrets {

    String username;
    String password;

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }
}

还有一个主要的应用spring-doc.cadn.net.cn

示例3。使用 Spring Vault 的示例应用
package org.springframework.vault.example;

import org.springframework.vault.authentication.TokenAuthentication;
import org.springframework.vault.client.VaultEndpoint;
import org.springframework.vault.core.VaultTemplate;
import org.springframework.vault.support.VaultResponseSupport;

public class VaultApp {

    public static void main(String[] args) {

        VaultTemplate vaultTemplate = new VaultTemplate(new VaultEndpoint(),
                new TokenAuthentication("00000000-0000-0000-0000-000000000000"));

        Secrets secrets = new Secrets();
        secrets.username = "hello";
        secrets.password = "world";

        vaultTemplate.write("secret/myapp", secrets);

        VaultResponseSupport<Secrets> response = vaultTemplate.read("secret/myapp", Secrets.class);
        System.out.println(response.getData().getUsername());

        vaultTemplate.delete("secret/myapp");
    }
}

即使在这个简单的例子中,也很少有需要注意的地方spring-doc.cadn.net.cn

  • 你可以实例化春之金库的中央职业,VaultTemplate,使用org.springframework.vault.client.VaultEndpoint对象和客户端认证. 你不需要启动 Spring Context 才能使用 Spring Vault。spring-doc.cadn.net.cn

  • Vault 预计配置为 的根Tokens为00000000-0000-0000-0000-000000000000来运行这个应用程序。spring-doc.cadn.net.cn

  • 映射器可以对标准的 POJO 对象运行,不需要额外的元数据(当然你可以选择提供这些信息)。spring-doc.cadn.net.cn

  • 映射约定可以使用字段访问。注意秘密班级只有得分者。spring-doc.cadn.net.cn

  • 如果构造函数参数名称与存储文档的字段名称匹配,则用于实例化对象。spring-doc.cadn.net.cn