- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 springboot集成对象存储aws java v2
工具类ResultUtil、ResultBean和ResultPageInfo(分页需引入谷歌的pagehelper插件)全局异常捕捉类GlobalExceptionHandler。3、实现对象列表、异步对象上传、对象下载、对象删除。4、对象存储线程池配置,上传文件时用到。自定义异常类BizException。2、yml添加aws配置信息。3、增加aws初始化配置类。
2023-02-08 16:47:53
1276
1
原创 shell启动java脚本(环境参数、启动、停止、状态)
该脚本提供了4个函数info():打印系统环境参数,启动命令为./java.sh infostart():启动程序,启动命令为./java.sh startstop():停止程序,启动命令为./java.sh stopstatus():查看状态,启动命令为./java.sh status在启动命令前需cd目录到 java.sh 所在目录。
2023-02-08 11:13:02
1954
原创 SpringBoot+RabbitMQ实现普通队列绑定死信队列
SpringBoot实现普通队列绑定死信队列,死信队列其实也是一种普通队列,只不过我们把那些消费失败的队列信息放到一个特殊的普通队列而已,队列消息在以下情况下会变成死信(Dead Letter)
2022-08-23 16:18:26
1573
原创 springboot+redis+lua实现限流防刷注解
本文使用redis+lua脚本实现高并发和高性能限流,lua脚本的好处是:减少网络开销: 不使用 Lua 的代码需要向 Redis 发送多次请求, 而脚本只需一次即可, 减少网络传输;原子操作: Redis 将整个脚本作为一个原子执行, 无需担心并发, 也就无需事务;复用: 脚本会永久保存 Redis 中, 其他客户端可继续使用.1、创建注解类@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documente
2022-05-17 16:06:52
704
原创 springboot实现字段加密注解
1、创建一个注解类@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) public @interface DataEncrypt { }2、项目启动时加载自定义ObjectMapper@Configurationpublic class ObjectMapperConfig { @Bean @P
2022-05-17 15:03:00
1540
原创 TokenUtil工具类(生成token和解析token)
public class TokenUtil { public static String createToken(String username, Boolean isRefreshToken) { try{ String key; Integer expireHour; if(isRefreshToken) { key = PropertyUtil.getProp.
2022-05-10 15:31:41
2094
原创 性能高的2个单例模式
1、静态内部类通过静态内部类的方式实现单例模式是线程安全的,同时静态内部类不会在Singleton类加载时就加载,而是在调用getInstance()方法时才进行加载,达到了懒加载的效果。但存在存在反射攻击或者反序列化攻击的可能。public class StaticSingletonDemo { private static class SingletonHolder { private static final StaticSingletonDemo instance=
2022-03-15 15:07:25
166
原创 jdk动态代理和cglib动态代理实现及区别
代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。代理模式又分为:静态代理、jdk动态代理、cglib动态代理。由于静态代理会产生过多的代理类,一旦接口增加方法,目标对象与代理对象都要进行修改,不易维护。而动态代理是动态地在内存中构建代理对象,从而实现对目标对象的代理功能,接口增加方法时代理对象不受影响 。下面我们讲讲jdk动态代理和cglib动态代理实现及区别jdk动态代理...
2022-02-25 18:06:01
13868
原创 aws s3对象存储与nas的区别
对比点 nas aws s3 技术 传统的NFS,即挂载共享文件夹 对象存储 协议 文件(NFS、CIFS协议),设计理念就是为了解决文件的共享,并不是为了解决大规模的网络用户访问 对象(OpenStack SWIFT、Amazon S3) 容量 属于文件系统,是文件系统就会有上限,单个netapp ontap文件系统最大20PB 不是文件系统,没有限制,只会收到实际磁盘裸容量限制,可以理解为单个bucket大小无限制 软硬件成本 一个集
2022-01-12 14:38:02
5737
原创 mybatis-plus自定义数据源
import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.core.MybatisConfiguration;import com.baomidou.mybatisplus.core.config.GlobalConfig;import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator;import com.ba.
2021-11-09 15:24:32
1079
原创 HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件
HttpClientUtilimport org.apache.http.HttpEntityEnclosingRequest;import org.apache.http.HttpHost;import org.apache.http.HttpRequest;import org.apache.http.NoHttpResponseException;import org.apache.http.client.HttpRequestRetryHandler;import org.apac.
2021-11-09 11:15:02
2167
转载 位与、位或、异或、位移运算
位与(&)参与运算的两个数据,按照二进制位进行“与运算”。运算规则:0&0=0;0&1=0; 1&0=0; 1&1=1;即:两位同时为1,则值为1。否则为0例如:9 & 5 = 1001 & 0101 = 0001 = 1第一列都是1,所以结果也是1.第二列,两个都是0,结果也是0....
2021-09-07 14:12:22
16806
2
原创 aksk生成工具类及加密算法
一、aksk生成工具类public class SignUtil{ private static final String[] chars = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"} /** * 生成8位app_key
2021-09-03 15:59:03
6437
5
原创 gateway获取请求体和响应体
public class RequestFilter implements GlobalFilter, Ordered{ public static final String CACHE_REQUEST_BODY_OBJECT_KEY= "cachedRequestBody"; @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){ .
2021-08-10 18:10:44
3317
1
HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件
2022-04-07
springboot集成amazon aws s3对象存储sdk(javav2)
2022-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人