Spring Boot CLI 为Spring Cloud提供了Spring Boot命令行功能 。您可以编写Groovy脚本来运行Spring Cloud组件应用程序(例如)。您还可以轻松地执行诸如加密和解密之类的操作,以通过秘密配置值支持Spring Cloud Config客户端。
@EnableEurekaServer
https://raw.githubusercontent.com/spring-cloud/spring-cloud- build/master/docs/src/main/asciidoc/contributing-docs.adoc
安装
要安装,请确保您具有 Spring Boot CLI (1.2.0或更高版本):
$spring version
Spring CLI v1.2.3.RELEASE
例如,对于GVM用户
$ gvm install springboot 1.3.0.M5
$ gvm use springboot 1.3.0.M5
并安装Spring Cloud插件:
$ mvn install
$ spring install org.springframework.cloud:spring-cloud-cli:1.1.0.BUILD-SNAPSHOT
重要 先决条件:要使用加密和解密功能,您需要在JVM中安装完整功能的JCE
(默认情况下不存在)。您可以从Oracle下载“ Java密码学扩展(JCE)
无限强度管辖权策略文件”,并按照安装说明进行操作(用您下载的文件
替换JRE lib / security目录中的2个策略文件)。
编写Groovy脚本并运行应用程序
Spring Cloud CLI支持大多数Spring Cloud声明性功能,例如@Enable*注释类。例如,这是功能齐全的Eureka服务器
应用程序
@EnableEurekaServer
class Eureka {}
您可以像这样从命令行运行
$spring run app.groovy
包括额外的依赖,往往足以只是添加相应的功能启用注释,例如@EnableConfigServer, @EnableOAuth2Sso或@EnableEurekaClient。要手动包含依赖项,可以使用@Grab带有特殊“ Spring Boot”短样式工件坐标的,即仅具有工件ID(无需组或版本信息),例如,设置客户端应用程序以侦听AMQP有关Spring CLoud总线的管理事件:
应用程序
@Grab('spring-cloud-starter-bus-amqp')
@RestController
class Service {
@RequestMapping('/')
def home() { [message: 'Hello'] }
}
加密与解密
Spring Cloud CLI带有“加密”和“解密”命令。两者都接受带有指定为强制性“ --key”的键的相同形式的参数,例如
$ spring encrypt mysecret --key foo
682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
$ spring decrypt --key foo
682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
mysecret
要在文件中使用密钥(例如用于加密的RSA公钥),请在密钥值前添加“ @”并提供文件路径,例如
$ spring encrypt mysecret --key @${HOME}/.ssh/id_rsa.pub
AQAjPgt3eFZQXwt8tsHAVv/QHiY5sI2dRcR+...