Java

SpringBoot中使用SpringIntegration

spring-integration是一个功能强大的EIP(Enterprise Integration Patterns),即企业集成模式。对,spring-integration是一个集大成者。就我自己的理解,集成了众多功能的它,是一种便捷的事件驱动消息框架用来在系统之间做消息传递的。 今天我们来探索一下如果使用它发送http请求。

浏览

springBoot 定制自己的starter

在学习Spring Boot的过程中,接触最多的就是starter。使用者可以把starter当成是一种服务,使得使用某个功能时不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入bean。而自动装配就是Springboot最大的特性。

浏览

BeanFactory详解

BeanFactory,它是一个接口工厂类,用于管理spring中的Bean。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 Spring为我们提供了许多易用的BeanFactory实现,XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。XmlBeanFactory类将持有此XML配置元数据,并用它来构建一个完全可配置的系统或应用。

浏览

activiti表结构

activiti表结构 表结构 表分类 表名 解释 一般数据 ACT_GE_BYTEARRAY 通用的流程定义和流程资源 ACT_GE_PROPERTY 系统相关属性 流程历史记录 ACT_HI_ACTINST 历史的流程实例 ACT_HI_ATTACHMENT 历史的流程附件 ACT_HI_COMMENT 历史的说明性信息 ACT_HI_DETAIL 历史的流程运行中的细节信息 ACT_HI_IDENTITYLINK 历史的流程运行过程中用户关系 ACT_HI_PROCINST 历史的流程实例 ACT_HI_TASKINST 历史的任务实例 ACT_HI_VARINST 历史的流程运行中的变量信息 用户用户组表 ACT_ID_GROUP 身份信息-组信息 ACT_ID_INFO 身份信息-组信息 ACT_ID_MEMBERSHIP 身份信息-用户和组关系的中间表 ACT_ID_USER 身份信息-用户信息 流程定义表 ACT_RE_DEPLOYMENT 部署单元信息 ACT_RE_MODEL 模型信息 ACT_RE_PROCDEF 已部署的流程定义 运行实例表 ACT_RU_EVENT_SUBSCR 运行时事件 ACT_RU_EXECUTION 运行时流程执行实例 ACT_RU_IDENTITYLINK 运行时用户关系信息 ACT_RU_JOB 运行时作业 ACT_RU_TASK 运行时任务 ACT_RU_VARIABLE 运行时变量表 流程查询 /*得到流程*/ SELECT ACT_RE_PROCDEF.

浏览

springboot中使用sentinel

首页我们先说说遇到的场景,我们需要对某些服务进行限流操作,在这样的场景下,我们要怎样才能做到这样的需求呢,这时候阿里的sentinel就能解决我们这样的问题 官方的介绍是这样的 引入jar包 <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>ahas-sentinel-client</artifactId> <version>1.1.2</version> </dependency> 添加bean @Bean public FilterRegistrationBean sentinelFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new CommonFilter()); registration.addUrlPatterns("/*"); registration.setName("sentinelCommonFilter"); registration.setOrder(1); return registration; } 添加配置 上面讲到我们引入的包是ahas-sentinel-client,这个包到底是干嘛的,它是直接连接阿里云外网ahas服务用的,他需要两个配置 ,指你在阿里云分配的密钥https://ahas.console.aliyun.com dsconfig project.name=sentinel-demo ahas.license=XXXXX

浏览

springBoot系列 - 集成JWT实现接口权限认证

一般来讲,对于RESTful API都会有认证(Authentication)和授权(Authorization)过程,保证API的安全性。 Authentication vs. Authorization Authentication指的是确定这个用户的身份,Authorization是确定该用户拥有什么操作权限。 认证方式一般有三种 Basic Authentication 这种方式是直接将用户名和密码放到Header中,使用Authorization: Basic Zm9vOmJhcg==,使用最简单但是最不安全。 TOKEN认证 这种方式也是再HTTP头中,使用Authorization: Bearer ,使用最广泛的TOKEN是JWT,通过签名过的TOKEN。 OAuth2.0 这种方式安全等级最高,但是也是最复杂的。如果不是大型API平台或者需要给第三方APP使用的,没必要整这么复杂。 一般项目中的RESTful API使用JWT来做认证就足够了。 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的, 特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息, 以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。 JWT官网:https://jwt.io/ JWT是由三段信息构成的,将这三段信息文本用.链接一起就构成了Jwt字符串。就像这样: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ JWT的构成 第一部分我们称它为头部(header),第二部分我们称其为载荷(payload, 类似于飞机上承载的物品),第三部分是签证(signature)。 header jwt的头部承载两部分信息: 声明类型,这里是jwt 声明加密的算法 通常直接使用 HMAC SHA256 这里的加密算法是单向函数散列算法,常见的有MD5、SHA、HAMC。这里使用基于密钥的Hash算法HMAC生成散列值。 MD5 message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值 SHA (Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,安全性高于MD5 HMAC (Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。 常用于接口签名验证完整的头部就像下面这样的JSON: { 'typ': 'JWT', 'alg': 'HS256' } 然后将头部进行base64加密(该加密是可以对称解密的),构成了第一部分

浏览