- 博客(20)
- 收藏
- 关注
原创 Springbooot整合shiro框架进行认证授权-----小白篇
环境搭建首先我是基于Springboot整合shiro框架进行的。然后用Mybatis进行的数据库连接操作;准备工作喜闻乐见的导包: <dependencies> <!--Springboot组件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artif
2021-05-27 16:24:34 226
转载 linux 中的定时任务
linux 中的定时任务Linux Crontab 定时任务linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名/etc/crontab 这个文件负责调度各种管理和维护任务。/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。我们还可以把脚本放在/etc/cron.hourly、/etc/cron.d
2021-05-18 17:28:46 178
原创 基于struts2解析前端传入的Excel文档中的内容(小白篇)
基于struts2解析前端提交的Excel文档(小白篇)首先看向前端写一个最基础的form表单传入一个Excel文件 <form action = "../agent/agent.test.receiveExcel.action" enctype="multipart/form-data" method = "post" onsubmit = "return true" > 选择文件: <input type="file" id="activityFil
2021-03-29 15:31:38 368
原创 Java用于下载Excel模板的接口(小白篇)
下载Excel模板的接口(最无脑的小白篇)try { //获取要下载的模板名称 String fileName = "TemplateDate.xlsx"; //设置头文件 response.setHeader("Content-disposition", "attachment;fileName=" + fileName); //设置文件传输类型 response.setContentType("application/vnd.ms-excel;charset=UTF
2021-03-29 15:08:30 4229 4
原创 Java如何连接Linux服务器并实现命令
连接Linux服务器并实现命令1.首先准备一个Linux上的一个脚本,用于连接上后进行访问mkdir /usr/local/tmp/test/shell //在Linux上创建一个存放临时文件的位置vim testForJava //创建一个文本 里边写入脚本echo "如果能看到这条消息说明你成功了" //这就是写入的脚本2.然后到Java中创建一个maven工程先引入依赖文件 <dependency> <groupId>ch.e
2021-01-22 14:08:42 2510 3
原创 基于Redis滑动窗口的接口限流
接口限流背景:在做网站的时候经常会遇到恶意访问或者被攻击的安全问题,从而导致服务器宕机或者影响网站正常运营。所以接口限流就应运而生了。基于redis的接口限流我们了解到redis中有着5种常见的数据类型,String、Hash、List、Set、ZSet,今天我们就要用到其中的ZSet来做接口限流这是比较简单的一种方式。其中ZSet中有一个方法,zcountzcount用法zcount 集合的名字 开始区间 结束区间 (作用:统计个区间内值的个数)思路我们将ZSet中集合的名字 设
2021-01-05 13:58:42 938 4
原创 关于项目中-----多级目录/菜单接口的写法(第二章MVC篇)
关于项目中-----多级目录/菜单接口的写法(第二章MVC篇)接着上篇–这篇是相关mvc的写法看完了TestMapper.xml 紧接着看 接口TestMapper 我这里的SpringBoot整合了Mybatis.首先是POJO:Test:@Data@AllArgsConstructor@NoArgsConstructor@ApiModel(description = "城市")public class Test { @ApiModelProperty(value = "城市i
2020-12-28 20:29:50 466 1
原创 关于项目中-----多级目录/菜单接口的写法(第一章SQL篇)
多级目录/菜单接口的写法(第一章SQL篇)例如:再一般项目中或多或少都会遇到这种多级菜单的需求,于此我稍微总结了一种写法基于springboot来构建的技术栈,测试工具用的swagger2目录结构首先看到TestMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD mapper 3.0//EN" "htt
2020-12-28 19:43:06 714 1
原创 Redis常见问题——脑裂问题
文章目录背景一、脑裂问题产生二、选举完成三、总结四、解决方法背景脑裂问题:有三台服务器一台主服务器,两台从服务器,还有一个哨兵(哨兵就相当于一个代码段,不参与实际业务)一、脑裂问题产生解释一下哨兵的作用,每隔一段事件发送信息查看主服务器是否还健在,如果出现了不可控原因导致主服务器死亡,会影响整个集群,所以哨兵就会从从服务器中选举一个当主服务器。基于上边的环境,这时候网络环境发生了波动导致了主服务器的死亡,这时候哨兵就会开始选举二、选举完成选举完成后一个从服务器变成了主服务器,而恰好这时候
2020-12-07 19:25:31 5927 3
原创 Redis单线程为啥能处理高并发?
Redis的单线程模型的解读(为什么单线程效率高)如图:首先客户端发送连接请求触发了AE_READABLE事件,并且被IO复用程序所捕获然后将捕获到得所有请求都放入一个队列,由文件事件处理器统一调度再连接应答处理器处理连接请求的时候,首先创建了Socket连接形成连接,然后将AE_READABLE事件绑定给命令请求处理器。连接建立后,客户端开始发送请求事件,触发AE_WRITEABLE事件,同样由IO复用程序所捕获,进入队列,再由文件事件处理器统一调度将请求事件分发给命令处理器,首先在内存
2020-12-07 17:55:19 388
原创 分布式锁的一些认识
Redis中的setnx在学习redis中,这个setnx key value时,发现分布式锁的原理和这个有点想近所以,在此说一说。Setnx这个语句在redis中表示的意思是:判断这个key值是否存在,如果不存在就创建。场景:假设一个服务器最多能抗压3000(并发),现在又9000个并发到来一个机器肯定是处理不完的,所以需要多几台服务器这个组件可以根据请求的并发数,分配任务。老生常谈的问题:为什么要用分布式锁?使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操
2020-12-01 17:35:39 88
原创 浅谈Spring中@lookup注解
浅谈Spring中@lookup注解项目情景在Spring中我们知道IOC容器中的bean都是单例模式的而且一个bean对象中的属性都是@Autowired自动注入的但是这里有一个问题:当我有一个bean中需要另一个bean 的注入,但是这个注入的bean我需要每次都不是同一个对象的时候,这时候就不能使用自动注入了,简单说:就是单例bean 需要注入的是多例对象。这时候@lookup就应运而生了被这个注解修饰的属性 在自动注入的时候 就每次都会生成不一样的bean,就解决了问题但是被修饰的属
2020-11-28 16:46:27 335
原创 项目中的日志整合原理
项目中的日志问题项目规范整合日志框架官方解释图:原理:在slf4j整合其他日志框架slf4j整合longback框架时,框架里边有相同名字的方法,相当于接口的实现类可以直接调用。slf4j整合log4j和JUL(java.util.logging)框架时,由于框架中没有相同名字方法,所以需要一个适配层,当调用slf4j中的方法时去匹配上述两个框架中的对应方法(名字不同所以不能直接用,需要一个适配层)这只是一个初略slf4j整合日志框架,那我项目原本用了一个日志框架我需要通过slf
2020-11-28 16:31:35 233 2
原创 最全的Spring配置文件依赖
最全的Spring配置文件的依赖<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context=
2020-11-09 19:59:25 302
原创 Spring_Aop初步认识
浅谈Aop什么是AopAOP为Aspect Oriented Programming的缩写。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。什么是面向切面编程呢?当我们在编写程序的时候 难免遇到代码冗余(重复)的问题 这个时候你 可以将重复的代码 专门抽取出来形成一个一个小的方法 再将方法写成一个专门的类
2020-11-09 10:03:52 118
原创 ThreadLocal,谈谈你对它的理解
ThreadLocal,谈谈你对它的理解ThreadLocal在java的多线程模块中,ThreadLocal是经常被提问到的一个知识点,提问的方式有很多种,可能是循序渐进也可能是就像我的题目那样,因此只有理解透彻了,不管怎么问,都能游刃有余。一、ThreadLocal是什么从名字我们就可以看到ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的
2020-10-28 10:25:34 348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人