- 博客(70)
- 资源 (18)
- 收藏
- 关注
原创 Springboot管理系统数据权限过滤(四)——mybatis数据权限插件 分页问题修复说明
以上,解决PageHelper分页问题,在使用PageHelper的过程中要特别小心,在startPage之后执行的第一个SQL会执行分页(查询总数,再查询结果),第一个执行分页后,会立即clearPage,那么后面执行的SQL将不会再进行分页。在获取数据权限时分页未处理好,导致添加数据权限后,分页未正常获取数据总条数的问题。代码块修改一行代码,之前是重新startPage了,导致丢失了count总数。》中动态实现数据权限控制。
2024-02-23 11:08:02 399
原创 SpringBoot security 安全认证(三)——自定义注解实现接口放行配置
通过Security实现了安全管理,可以配置哪些接口可以无token直接访问。但一个麻烦就是每增加一个匿名访问接口时都要去修改SecurityConfig配置,从程序设计上讲是不太让人接受的。:即是解决以上问题,增加一个匿名访问接口,但不要去修改SecurityConfig配置。在需要匿名的接口上添加注解,系统启动时扫描带注解的接口,SecurityConfig配置时,读取这些接口,即可完成自动配置匿名访问了。
2024-02-02 10:06:49 545
原创 SpringBoot security 安全认证(二)——登录拦截器
本节内容:实现登录拦截器,除了登录接口之外所有接口访问都要携带Token,并且对Token合法性进行验证,实现登录状态的保持。核心内容:1、要实现登录拦截器,从Request请求中获取token,从缓存中获取Token并验证登录是否过期,若验证通过则放行;2、实现对拦截器配置,SpringBoot 安全模块使用HttpSecurity 来完成请求安全管理。
2024-02-01 16:10:22 1092
原创 SpringBoot security 安全认证(一)——登录验证
本节内容:使用springboot自动security模块实现用户登录验证功能;登录过程如下图:AuthenticationManager内容实现用户账号密码验证,还可以对用户状态(启用/禁用),逻辑删除,账号是否被锁定等判断。密码默认使用BCryptPasswordEncoder。那么我们在用户注册时密码要使用 new BCryptPasswordEncoder().encode(pwd)进行加密。代码实现过程:1、引入相关依赖;2、创建UserDetails实现类LoginUser;
2024-02-01 11:48:27 1154 1
原创 SpringBoot Redis入门(四)——Redis单机、哨兵、集群模式
在SpringBoot中使用哨兵模式和集群模式,也是不费吹灰之力。对于我们使用来说和前面单机模式没有任何区别。唯一需要做的就是告诉SbringBoot框架:这个项目我要使用哨兵模式,这个项目我要使用集群模式。如何告诉框架呢,当然是通过application.yml文件中的配置来说明:pom.xml
2024-01-16 14:50:51 862
原创 SpringBoot Redis入门(三)——自定义MyCacheable缓存注解,实现对返回结果缓存
*** 1. 在执行方法前,将 @MyCacheable 注解入栈* 2. 在执行方法后,将 @MyCacheable 注解出栈/*** MyCacheable 空对象log . debug("MyCacheableAnnotationInterceptor 拦截器:" + methodInvocation . getMethod() . getName());
2024-01-08 10:55:12 417
原创 SpringBoot Redis入门(二)——数据库查询结果缓存
我们使用SpringBoot自带的Lettuce缓存框架,通过上一节已经完成了对Lettuce的集成,测试只是做了手动写代码将我们的对象写入到redis中了,也读了出来,缓存实际也就是干存取的工作。你项目中要这么使用也没毛病。通过在方法上添加**@Cacheable**注解,框架可以自动帮我们把查询结果缓存起来,我们也无需特地去使用缓存api去取。但牛逼的程序猿就是要把懒发挥到极致,Cacheable就是这么产生的。
2024-01-05 17:21:33 459
原创 SpringBoot Redis入门(一)——redis、Lettuce、Redisson使用
Lettuce是SpringBoot自带的Redis客户端,性能比Redis要好, 是线程安全的,支持同步编程,异步编程,响应式编程,自动重新连接,主从模式,集群模块,哨兵模式Redisson 是一个在 Redis 的功能基础上实现的 Java 驻内存数据网格客户端。实现了分布式和可扩展的 Java 数据结构,提供很多分布式相关操作服务,例如分布式锁,分布式集合,可通过 Redis 支持延迟队列。
2024-01-05 16:52:11 1573
原创 Springboot管理系统数据权限过滤(四)——mybatis数据权限插件
Springboot管理系统数据权限过滤(三)——0业务入侵实现部门数据权限过滤数据权限实现的思路和代码实现已经了解。本节在此基础上实现支持mybatis框架的通用数据过滤插件。实现目标:上一章示例,使用的是mytatisplus数据持久框架,使用是的mybatisplus拦截器,本章是基于mybatis持久化框,所以仅拦截器实现上有一点点差异,但我们也是可以引入mybatisplus的依赖包,但仅使用它的对SQL的处理上,这样可以省很多事。除了这一点,其他的代码都可以沿用上一章的内容。该项目初衷
2024-01-02 16:56:45 735
原创 Springboot管理系统数据权限过滤(三)——0业务入侵实现部门数据权限过滤
上一章,讲解了SQL拦截器的,做了一个简单的SQL改造。本章要实现:以下简单用一个图说明了整个处理过程,红色框住的部分,就是本章要实现的内容:DataScope.javaDataScope对象里面设置了用于数据权限规则数组。在SQL拦截器中将从这些数据权限规则中获取条件表达式。DataPermissionRule.java这里定义了一个权限解析接口,如此即可以扩展很多不同类型的权限,如:对部门过滤,本章我们仅实现对部门权限过滤。(若要实现对如预算科目、项目等过滤,可实现该接口,另外还得单独实现对这些数
2023-12-19 17:42:17 1165
原创 Springboot管理系统数据权限过滤(二)——SQL拦截器
上一节Springboot管理系统数据权限过滤——ruoyi实现方案对数据权限实现方案有了认识,本文将进一步优化权限过滤方案,实现对业务代码零入侵。回顾上一章中权限方案:为了实现对业务零入侵,实则是在SQL编写的时候,希望通过框架实现权限脚本的自动拼接,而非人为添加。本文权限控制需要达到的效果:pom.xml文件application.yamlUserDao.javaUserMapper.javaUserMapper.xmlUserService.javaUserController.java
2023-12-14 16:40:08 402
原创 springboot 拦截器之Advisor不生效问题
完成以上全部代码,在调用motho01()方法时,正常就应该先执行拦截器,再执行method01中的方法。但在springboot-2.1.3RELEASE版本时,拦截器却没有生效。像这样就可以了。
2023-12-14 14:20:01 202
原创 Springboot管理系统数据权限过滤——ruoyi实现方案
ruoyi数据权限涉及部门表sys_dept和用户表sys_users表,这里仅用来定义sql查询中部门表和用户表的别名。/*** 部门表的别名*//*** 用户表的别名*//*** 权限字符(用于多个角色匹配符合要求的权限)默认根据权限注解@ss获取,多个权限用逗号分隔开来*/
2023-12-11 17:19:03 403
原创 【Maven】SpringBoot多模块项目利用reversion占位符,进行版本管理.打包时版本号不能识别问题
多模块项目使用reversion点位符进行版管理,打包时生成的pom文件未将。而根据这个版本号去找相应父模块时肯定是找不到的。占位符替换为真实版本号。而当子模块被依赖时,引入的。
2023-09-19 15:27:44 875
原创 Mysql 数据库备份
数据库恢复:1、登录数据库;2:使用source xxx.备份脚本.sql;如果备份脚本没有带库名,则使用use xxx数据库名后再执行source。如果带库名,则使用use xxx库名 将不生效。文件内容:脚本里没有创建数据库,则在执行source命令之前必须执行 use 数据库 命令。数据恢复时要特别注意是用哪种方式备份的,最好使用不带库名的方式。导出命令中包含建库脚本:比上文中导出命令多了 -B 参数。
2023-08-09 14:11:58 304
转载 SpringBoot 常用starter
1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。2)spring-boot-starter-actuator 帮助监控和管理应用。3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。4)spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。5)sp
2023-07-13 10:59:58 216
原创 Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx
网上搜索问题原因均说是因为:springboot 和swagger版本问题导致。我的springboot版本2.6.4,swagger版本2.9.2。
2023-06-02 17:31:12 89
原创 Seata做分布式事务时,报错后事务不回滚的问题
具体问题举例:有两个服务A和服务B,服务A通过openfiegn调用服务B的接口,服务A和服务B都能正常注册到seat服务。但当服务A的serviceA调用服务B的serviceB时,serviceB执行成功并返回结果到serviceA中,然后serviceA报错,些时serviceA能回滚,serviceB不能回滚。一:seat全局事务id是在放在heard中在服务间传递的,然而通过断点,确实在服务B的请求request.header中有事务id。1、Seata做分布式事务时,报错后事务不回滚的问题?
2023-06-02 16:30:56 2806 1
原创 requests 正则表达正式基础爬虫案例二:爬取网站数据
要求:爬取https://ssr1.scrape.center/ 网站中所有电影标题、类型、地区、电影时长、上映日期、评分、简介;列表页面共10页,根据分析可得出,列表页面地址:https://ssr1.scrape.center/page/{页码};本文参考文献:https://cuiqingcai.com/202224.html ,想学习爬虫的可以移步。分析:网站共有两个页面组成,电影列表和详情,我们所需要的内容都在详情页面里面可以找到。其他不说了,直接看代码得了,正则表达式部分比较烂。
2023-04-12 10:00:18 409
原创 熟悉requests用法,实现简单网站爬虫
本文模拟的是前后端分离项目,使用账号密码登录获取到token,拿着token加载用户信息,加载分页列表数据并存储文件。本文用到的知识点:1、urllib.parse URL解析;2、session用法,保存所有请求在一个会话中;取决于后台是否使用session传话保持;3、requests请求,添加headers,data参数;4、requests请求重定向获取重定向地址;5、文件的写入;
2023-04-11 14:47:28 827
原创 Tomcat Spring web项目源代码加密
为了防止产品代码泄漏或授权等被破解,想到对源码加密,说是对源码加密,实际是需要对class文件进行加密。如果对class文件加密了,那类加载器如何能解析呢?本文讲解的就是SpringWeb项目加密后如何能在tomcat下面启动运行的。1、war包加密;2、tomcat类加载器修改;3、Spring-asm类加载修改;
2023-03-17 15:54:20 975 1
原创 Centos7虚拟机安装Zabbix
1、安装虚拟机;2、配置网络;VM网络配置, 设置模式 配置Linux ip地址为:192.168.0.221 该地址 就是Zabbix服务机的IP 编辑 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 ens33为网卡名,不同机器不一样;TYPE=Ethernet BOOTPROTO=static DEFRO...
2018-09-02 15:05:54 4676 1
转载 Centos7虚拟机网络配制
编辑 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 ens33为网卡名,不同机器不一样;TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=ye...
2018-09-01 23:50:21 299
原创 ORACLE常用数据查询
1. 生成树表全路径SELECT WORKLOAD_KIND_TREE_ID, parent_ids from (SELECT tt.WORKLOAD_KIND_TREE_ID, TRIM(LEADING ',' FROM SYS_CONNECT_BY_PATH(tt.WORKLOAD_KIND_TREE_ID, '
2017-08-29 11:24:12 240
原创 微信JSAPI支付躺过的坑
2017年8月20日的记录,后续微信SDK升级可能会避免这些问题。 1、统一下单接口,SDK默认的配置是HMACSHA256签名方式,使用该方式能正常下单,拿到prepay_id。但拿到这个prepay_id传到前端进行微信支付的时候,始终提示“支付签名验证失败”,在这个问题上又耗费了几个日夜,网上各种找,签名工具各种验证,签名都是正确的,但手机调用支付时,签名失败。后来突然间看到一篇帖子说:下单
2017-08-20 15:11:10 465
原创 远程拉取war文件,并启动tomcat,linux命令
ssh [email protected] “cd /home/project/qa/sql/project svn up exit”; scp [email protected]:/home/source/project_war/ROOT.war /home/source/ cp /home/source/ROOT.war /home/brc/application/jboss-5.1.0.
2017-08-10 14:11:23 592
原创 MySql 存储过程插入年月日
参数:开始年份,结束年份 过程说明:生成年月数据插入期间有中,若发现已经存在某年的数据则跳过。DROP PROCEDURE IF EXISTS createPayPeriod;DELIMITER //CREATE PROCEDURE createPayPeriod(IN START_YEAR INT,IN END_YEAR int) BEGIN DECLARE v int;
2017-06-03 17:55:54 3845
原创 ELK日志分析系统环境搭建
1.准备出于学习的目的,本次操作在主机64位WIN7+VMware10。 - 虚拟机安装:ubuntu-14.04.1-desktop-i386.iso - elasticsearch5.3.1 - Kibana5.3.1 - Logstash5.3.12.安装ubuntu虚拟机首先,安装:vsftpd、vim; 通过FTP将jdk-8u111-linux-i586.tar.gz/elas
2017-05-07 13:52:35 1158
原创 虚拟机性能监控之JDK命令行工具
摘抄至《深入理解JAVA虚拟机》第2版,记录在此,方便查阅。JDK的命令行工具 名称 主要作用 jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程 jstat JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据 Pipe Configuration Info for
2017-04-15 23:40:24 1109
原创 JVM垃圾收集算法
垃圾收集器(Garbae Collection,GC),从诞生起就被要求完成3件事件: 1. 哪些内存需要回收? 2. 什么时候回收? 3. 如何回收?一、哪些内存需要回收?在堆里存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。 1 . 引用计数算法 给对象添加一个引
2017-04-01 22:24:44 335
原创 基于JDK1.7Update14之后的HotSpot虚拟机垃圾收集器
1.Serial收集器Serial是最基本,历史最悠久的收集器,在Jdk1.3以前是虚拟机唯一的新新生代收集器。 它的特点: 1. 单线程收集器,它只会使用一个CUP或者说一条收集线程来完成垃圾收集; 2. Stop The World,当进行垃圾收集时必须暂停所有的工作线程,直到它收集结束。 3. 使用“复制”算法,现状及优势 1. 现在目前国止,它依然是虚拟机运行在Client模式下的默
2017-03-29 23:40:08 603
原创 Java 内存区域与内存溢出异常
一.运行时数据区域1 . 程序计数器(Program Counter Register): 是一块较小内存空间,它可看作是当前线程所执行的字节码的行号指示器。各线程都会享有自己独立的程序计数器,这样保证线程之前计数据器互不影响,所以这类内存区域为“线程私有”的内存。2 . java虚拟机栈(Java Virtual Machine Stacks): 也是线程私有的,它的生
2017-03-04 14:52:07 366
apache-tomcat-8.5.87-src 类加载器WebappClassLoaderBase修改,web项目加密解密
2023-04-07
python基础学习100例
2023-04-03
java class文件加密,war代码加密解密
2023-04-03
【程序员简历模板】资源
2023-04-03
Spring-asm类加载修改/Tomcat Spring web项目源代码加密
2023-04-03
kaptcha验证码生成工具
2022-10-20
spring,struts,mybatis包
2016-11-19
spring.struts,ibatis集成包
2016-11-18
apache+svn服务器搭建apache_2.2.11-win32-x86-openssl-0.9.8i.msi、svn-win32-1.5.4
2016-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人