自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (2)
  • 收藏
  • 关注

原创 海关179加签上报+电子口岸加签实现

海关179

2023-09-14 00:28:36 376

原创 讯飞星火认知大模型对接

效果一览:

2023-09-11 10:35:49 299

原创 XXL-JOB二次开发嵌入自己的项目

XXL-JOB二次开发嵌入自己的项目

2022-12-29 15:18:46 1337 2

原创 PowerJob快速开始

PowerJob快速开始

2022-12-27 17:00:45 669

原创 JSONObject.parseObject 属性为抽象类/无无参构造的 坑

@Datapublic abstract class DocumentModelApiFieldDefinition implements Serializable { /** * 名称 */ private String name; /** * 说明 */ private String explain = ""; /** * 类型 */ private String type; /*

2022-03-01 14:25:42 946 1

原创 共通文件上传->【七牛云/UFile/本地】

快速上手第一步:下载项目将common-file-core模块导入自己项目第二步:引入Maven<dependency> <groupId>com.wxm</groupId> <artifactId>common-file-core</artifactId> <version>1.0.0</version></dependency>第三步:实现上传配置Service[Uploa

2022-01-26 18:27:16 381

原创 SpringBoot多异常处理@ControllerAdvice的坑

项目有多个子模块模块1:security共通模块模块2:exception共通模块模块1:@Slf4j@Order(1)@ResponseBody@ControllerAdvicepublic class RSecurityDispose { /** * 额外处理一下 AccessDeniedException 无权限异常 * @param request request * @param e e * @return R<String&

2021-12-08 14:04:27 480

原创 jackson序列化错误 get类型方法名的坑 [com.fasterxml.jackson.databind.exc.InvalidDefinitionException]

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-11-11 14:15:16 2049

原创 【2021-09-06】4.1、Ribbon-负载均衡原理

2021-09-07 06:58:09 136

原创 Shiro中拦截器Filter的坑

(第一坑)两个拦截器但是只生效了一个?写了两个过滤器//过滤器1 重写重定向login.jsp页面class LoginFilter extends UserFilter{ @Override protected void redirectToLogin(ServletRequest request, ServletResponse response) throws IOException { response.setContentType("application/

2021-07-19 18:29:16 211

原创 Java8 校验时间区间集合是否用重叠 工具类

效果1:判断区间重叠TimeInterval t1 = new TimeInterval("12:00", "22:00", StringSwitchLocalTimeUtil::getLocalTimeToColon);TimeInterval t2 = new TimeInterval("23:00", "23:59", StringSwitchLocalTimeUtil::getLocalTimeToColon);List<TimeInterval> list = Arrays.a

2021-06-18 17:46:10 1438

原创 LogicFlow(Vue3)

官方文档步骤1//LogicFlownpm install @logicflow/core --save//LogicFlow组件npm install @logicflow/extension --save快速上手参考官网案例// 创建容器<div id="container"></div>// 准备数据const data = { // 节点 nodes: [ {id: 21, type: 'rect',x: 100,y: 200,text

2021-06-09 22:21:18 7071 3

原创 Lock 与 synchronized区别

Lock 与 synchronized区别1) Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;synchronized关键字可以直接修饰方法,也可以修饰代码块,而Lock只能修饰代码块;2) synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;3) Lock可以让等待

2021-05-09 22:48:39 277

原创 设计模式-7.门面模式(Facade)

门面模式门面模式(Facade):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。门面模式又称为外观模式,它是一种对象结构型模式。如:我想要修一个房,势必要去找到水泥工、搬砖工、砌砖工。但是我又不知道去哪里找。如图:修房对我来说就很麻烦,一件事却要new很多不同的对象如图:此时我找到包工头,我告诉他我要一个什么样的房子,其他的就由他来解决class Mi{ public v

2021-05-06 08:29:51 70

原创 设计模式-6.享元模式(Flyweight)

享元模式在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flywei

2021-05-06 07:23:34 78

原创 设计模式-5.原型模式(Prototype)

建造模式 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象原型模式主要用于对象的复制,它的核心是就是类图中的原型类Product。Product类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedException异常。重写Object类中的

2021-05-05 19:41:04 75

原创 Shiro 授权失败重写

//创建shiroFilter 负责拦截所有请求 @Bean(name = "shiroFilterFactoryBean") public ShiroFilterFactoryBean getShiroFilterFactoryBean(DefaultWebSecurityManager defaultWebSecurityManager){ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFac

2021-05-03 22:34:09 113

原创 Shiro获取当前登陆用户

获取Object principal = SecurityUtils.getSubject().getPrincipal();前提 在进行认证时候 放入的就是User对象

2021-05-03 22:32:25 1084

原创 SpringBoot 整合 Shiro + Redis + Mybatis

1.CacheManager用来减轻DB的访问压力,从而提高系统的查询效率2. 如何开启缓存?2.1 在Realm中开启缓存 并设置缓存处理器authorizingRealm.setCachingEnabled(true); authorizingRealm.setAuthorizationCachingEnabled(true);authorizingRealm.setAuthorizationCachingEnabled(true);authorizingRealm.setCache

2021-05-03 22:29:07 103

原创 SpringBoot 整合 Shiro + Mybatis

目录1. 整合依赖2.进行配置3.ShiroConfig4. 控制器5.代码笔记1. 整合依赖 <!--MySql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--Mybatis--> <dependency&g

2021-05-03 22:01:02 69

原创 Shiro认证

目录一、Shiro认证1.1 认证1.2 shiro中认证的关键对象1.3 认证流程1.4 认证的开发1. 创建项目并引入依赖2. 引入shiro配置文件3. 开发认证代码4. 常见的异常类型5. 自定义Realm一、Shiro认证1.1 认证身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。1.2 shiro中认证的关键对象 Subject:主体访问系统的用

2021-05-03 18:06:44 57

原创 Shiro中的Realm

文章目录Realm1. 简介:2. 功能3. shiro提供的Realm4. 自定义Realm4.1 认证4.1.1 使用md5+salt 认证4.2 授权4.2.1 关键对象4.2.2 授权流程4.2.3 常用权限控制注解4.2.4 给用户授权Realm1. 简介:Realm:域,Realm 充当了 Shiro 与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro 会从应用配置的 Realm 中查找用户及其权限信息。从这个意义上讲,Real

2021-05-03 08:24:21 125

原创 Shiro理解

目录Shiro一、权限的管理1.1 什么是权限管理1.2 什么是身份认证1.3 什么是授权二、什么是shiroshiro的核心架构3.1 Subject3.1 SecurityManager3.3 Authenticator3.4 Authorizer3.5 Realm3.6 SessionManager3.7 SessionDAO3.8 CacheManager3.9 CryptographyShiro一、权限的管理1.1 什么是权限管理基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统

2021-05-03 06:47:23 42

原创 设计模式-4.建造模式(Builder)

建造模式将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。public class A_Builder { public static void main(String[] args) { Product product = new Product.Builder().productName("火星零食").price(10).build(); System.out.println(product); }}

2021-04-18 21:30:47 63

原创 设计模式-3.抽象工厂 模式(Abstract Factory)

抽象工厂 模式1.由一些工厂方法组合而成的应用场景程序需要处理不同系列的相关产品,但是你不希望它依赖于这些产品的具体类时,可以使用抽象工厂优点:1.可以确信你从工厂得到的产品彼此是兼容的。2.可以避免具体产品和客户端代码之间的紧密耦合3.符合单一职责原则4.符合开闭原则定义一套接口规范/** * 初始化 */interface Init{ void init();}/** * 上传 */interface Put{ void put();}

2021-04-18 17:45:37 39

原创 设计模式-2.工厂方法模式(Factory Method)

工厂方法模式1.当你不知道改使用对象的确切类型的时候2.当你希望为库或框架提供扩展其内部组件的方法时主要优点:1.将具体产品和创建者解耦2.符合单一职责原则3.符合开闭原则/** * <p> * 工厂方法模式Demo * </p> * * @author: wxm * @Date: 2021/4/18 */public class A_FactoryMethodDemo { public static void main(Str

2021-04-18 15:18:13 44

原创 设计模式-1.单例模式(Sinleton)

1.懒汉模式:延迟加载,只有正在使用的时候,才开始实例化1.线程安全问题2.double check 加锁优化3.编译器(JIT),CPU有可能对指令进行重排序,导致使用到尚未初始化的实例,可以通过添加volatile关键字进行修饰。对于volatile修饰的字段,可以防止指令重排。class A_Singleton{ /** * 如果不加 volatile * 那么在 instance = new A_Singleton(); * 可能 1.分配空间 2.引用

2021-04-18 14:24:10 108

原创 Gihub三方登陆

Github官方文档1.创建密钥和私钥settings->Developer settings->OAuth Apps->New OAuth App2.分三步请求1.登陆得到code回调地址为刚才设置的回调地址 /xxx1用于接收code回调地址格式:设置的基础地址/xxx12.收到code请求token之后会收到回调 回调的url就为上一个传递的地址http://192.168.16.64:9000/github/authorize-callba

2021-04-14 21:02:36 270

原创 在线查看git项目

1.在git 链接前加入https://sourcegraph.com/如:

2021-04-10 19:13:37 262

原创 IDEA 忽略提交

2021-03-29 16:51:39 85

原创 Vuex 使用理解

1.Vuex 概述1.1 组件之间共享数据的方式父向子传值:v-bind 属性绑定子向父传值:v-on 事件绑定兄弟组件之间共享数据:EventBus$on 接收数据的那个组件$emit 发送数据的那个组件1.2 Vuex是说明Vuex 是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享。1.3 使用Vuex 统一管理状态的好处①能够在vuex中集中管理共享的数据,易于开发和后期维护②能够高效的实现组件之间的数据共享,提高开发效率③储存在vuex

2021-01-10 21:44:51 110

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除