|
该版本仍在开发中,尚未被视为稳定。最新稳定版请使用Spring Vault 4.0.0! |
开始
Spring Vault 的支持需要 Vault 0.6 及以上版本和 Java SE 6 或更高版本。 一个简单的启动工作环境方法是用STS创建一个基于Spring的项目。
首先你需要搭建一个运行中的Vault服务器。 请参阅 Vault 页面,了解如何启动 Vault 实例。
要在 STS 中创建 Spring 项目,请前往 File → 新→
Spring 模板项目 → 简单 Spring 工具项目 →
提示时按“是”。
然后输入一个项目和一个包名,比如org.spring.vault.example.
然后将以下内容加入pom.xml依赖部分。
例子1。添加 Spring Vault 依赖
<dependencies>
<!-- other dependency elements omitted -->
<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
<version>4.1.0-SNAPSHOT</version>
</dependency>
</dependencies>
如果你使用快照,还需要将 Spring 快照仓库的位置添加到你的 maven 中pom.xml这和你的水平是一样的<依赖关系/>元素。
<repositories>
<repository>
<id>spring-snapshot</id>
<name>Spring Maven SNAPSHOT Repository</name>
<url>https://repo.spring.io/snapshot</url>
</repository>
</repositories>
该仓库也可在此浏览。
创建一个简单的秘密要持续存在的类:
例子2。映射数据对象
package org.spring.vault.example;
public class Secrets {
String username;
String password;
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
还有一个主要的应用
例子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");
}
}
即使在这个简单的例子中,也很少有需要注意的地方
-
你可以实例化春之金库的中央职业,
VaultTemplate,使用org.springframework.vault.client.VaultEndpoint对象和客户端认证. 你不需要启动 Spring Context 才能使用 Spring Vault。 -
Vault 预计配置为 的根Tokens为
00000000-0000-0000-0000-000000000000来运行这个应用程序。 -
映射器可以对标准的 POJO 对象运行,不需要额外的元数据(当然你可以选择提供这些信息)。
-
映射约定可以使用字段访问。 注意
秘密班级只有得分者。 -
如果构造函数参数名称与存储文档的字段名称匹配,则用于实例化对象。