2 Star 0 Fork 26

惟爱你 / vinus-spring-boot-starter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

针对阿里云组件封装 vinus-spring-boot-starter

写在前面

这个starter已经用了有一段时间,前一阵子阿里与spring的团队进行合作开发适用于阿里云的spring cloud的框架,听到这个消息后,说实话,开心到爆。我也衷心的祝愿阿里的开源事业越办越好。同时我也分享一下spring官方提供的spring-cloud-alibaba框架说明文档:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html

介绍

针对阿里云的产品进行的spring boot starter的封装,目前只封装了sms、oss、sts三个模块,后续有需求我会进一步的添加,对于我来说sms与oss两个模块目前用的最多。所以这块也做了一些封装

软件架构

版本需求

当前工程版本:0.3.6

jdk版本 maven版本 spring boot

aliyun-core aliyun-oss aliyun-sts

系统配置
  • 系统配置是按照“你需要什么就配置什么”的原则来进行相关配置,所以对于不同的模块就需要不同的配置:所以对于配置,目前分为三大块:oss配置,sms配置,sts配置
  • 所有配置基本上都会包含三个数据:1、accessKeyId 2、accessKey Secret 3、regionId(选填),以上的三个数据是每个可编程访问模块所必须的数据,这三项数据由阿里云的访问控制中创建子账号进行提供的,对于访问控制请看:访问控制
  • oss配置主要包括:默认的bucket、endpoint、oss代理过期时间、bucket与域名绑定的映射4项
  • sms配置主要包括:endpoint、sms的产品类型(目前定死为Dysmsapi)、短信发送的域名(目前定死dysmsapi.aliyuncs.com)
  • sts配置主要包括:阿里云资源与角色对照信息、角色会话名称、临时授权的过期时间

安装教程

  1. 下载此工程,通过mvn intall后,引入其依赖:

		<dependency>
			<groupId>com.kuding</groupId>
			<artifactId>vinus-spring-boot-starter</artifactId>
			<version>0.3.6</version>
		</dependency>
		
  1. appplication.propertiesapplication.yml文件中进行相关配置

  2. 加入需要引入短信模块,则需要做如下配置:


vinus.enable-aliyun-sms=true
aliyun.sms.access-key-id=你自己的accessId
aliyun.sms.secret=你自己的access-secret
aliyun.sms.region-id=cn-hangzhou
  1. 若需要引入oss模块,则需要引入如下配置:
vinus.enable-aliyun-oss=true
aliyun.oss.access-key-id=你自己的accessId
aliyun.oss.secret=你自己的access-secret
aliyun.oss.default-bucket=my-bucket
aliyun.oss.policy-timeout=30m
aliyun.oss.end-point=oss-cn-xxx.aliyuncs.com
  1. sts模块暂时先不讲了,有机会再说

使用说明

对于应用也非常的简单,核心的类为XxxComonent。阿里云sms的核心类为SmsComponent、阿里云oss的核心类为OssComponent、阿里云Sts核心类为StsComponent;

  • 对于sms组件,核心的方法为public void doSendSms(String phone, String smsSignature, String templateCode, Map<String, String> map)方法,参数依次为:手机号、短信签名、短信模板code、和参数(map结构);对于短信签名一般都是固定的,对于templateCode的管理建议可以通过enum的方式进行管理
public enum SmsTemplate {

	MODIFY_PWD("SMS_120270002"), CREATE_USER("SMS_172223677"), RESET_PWD("SMS_162524221"), INIT_SAAS("SMS_162546827");;

	private final String template;

	public String getTemplate() {
		return template;
	}

	private SmsTemplate(String template) {
		this.template = template;
	}

}
  • ossComponent对于我而言是最常用的组件,所以对于oss的封装也是最全面的。对于大部分情况而言,oss上传需要web端进行直传,所以需要服务端进行获取一个临时授权策略给web端,web端可以通过授权策略记性web端直传,具体流程可以查看阿里云官方文档:https://help.aliyun.com/document_detail/112718.html?spm=a2c4g.11186623.6.1381.3de849e8wssfWB 临时授权策略需要的信息已封装到类中:OssPolicy,用法也很简单:
	@PostMapping("/createExplainPicPolicy")
	@ApiOperation("创建一个说明图片上传的临时策略")
	public ResultModel<OssPolicy> createExplainPicPolicy() {
		OssPolicy ossPolicy = ossComponent.createOssPolicy("文件目录", "my-bucket");
		return ResponseStatusEnum.SUCCESS.createResultModel(ossPolicy);
	}

第一个参数表示是哪个文件目录,第二个参数表示是哪个bucket

  • 当然对于oss,有一些情况是需要服务端进行上传信息的,这一部分非常的灵活,oss不仅可以上传文件,还可以上传任何形式的文本(json、xml、html等)假如你上传的是json,通过oss获取也是标准的restful风格的接口的话,支付要在Oss配置需要的header(例如content-type)即可,如:
	/**
	 * 将一个字符串上传到oss
	 * 
	 * @param object
	 * @param contentType
	 * @param path
	 * @return
	 */
	public String putStringToOss(String object, ContentType contentType, String path) 

说在后面

  • 这个框架也比较简单,思想上主要是把阿里云的组件进行模块化开发,这样的好处就是方便与其他的框架(spring cloud)整合并方便配合阿里云控制台进行管理。我在这也算是抛砖引玉,对于有阿里云其他模块开发的需求,可以留言给我,我看看如何进行添加。
  • 最近比较忙,此框架的文档我也会不定期的进行完善。

Fork me on Gitee

空文件

简介

针对阿里云的产品进行的spring boot starter 的封装,目前只封装了sms、oss、sts三个模块 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/xiaomaoguai/vinus-spring-boot-starter.git
git@gitee.com:xiaomaoguai/vinus-spring-boot-starter.git
xiaomaoguai
vinus-spring-boot-starter
vinus-spring-boot-starter
master

搜索帮助