自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 防抖处理(后端处理)

什么是防抖 ?在一定时间间隔内函数被触发多次,但只执行最后一次。PS:虽然实际场景中都是前端在处理,但是后端也是需要进行处理的。解决方案思路:通过SpringMvc对请求进行拦截,然后进行重复校验,具体步骤看下面。1.配置自定义的拦截器/** * 防止重复提交拦截器 * * @author ruoyi */@Componentpublic abstract class RepeatSubmitInterceptor extends HandlerInterceptorAdapter{

2021-06-28 15:34:03 2468 2

原创 PageHelper原理、注意点

原理PageHelper首先将前端传递的参数保存到page这个对象中,接着将page的副本存放入ThreadLoacl中,这样可以保证分页的时候,参数互不影响,接着利用了mybatis提供的拦截器,取得ThreadLocal的值,通过反射机制,首先查询出数据总数量,然后进行分页SQL的拼装,重新拼装分页SQL,完成分页。重要提示PageHelper.startPage方法重要提示只有紧跟在PageHelper.startPage方法后的第一个Mybatis的查询(Select)方法会被分页。请不要

2021-06-26 11:06:18 464

原创 Comparator、Clonable

ComparatorComparator的功能javase数组工具类和集合工具类中提供的sort方法sort就是使用Comparator接口来处理排序的Arrays.sort(T[],Comparator<? super T> c);Collections.sort(List list,Comparator<? super T> c);使用场景排序,需要比较两个对象谁排在前谁排在后(排序也可以让类实现Comparable接口,实现后该类的实例也具有排序能力)。分组,需

2021-05-21 18:25:20 32

原创 Token与LocalStorage

Token与LocalStorage什么是Token?为什么要有Token?Token在项目中的应用逻辑什么是localStorage?什么是Token?token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几

2021-05-20 10:48:30 1255

转载 不能用float、double 存储金额——BigDecimal详解

1.为什么不能使用 float 存储金额?public class FloatTest { public static void main(String[] args) { float f1 = 6.6f; float f2 = 1.3f; System.out.println(f1 + f2); }}运行发现运行结果和计算的不一样计算机只认识 0 和 1,所有类型的计算首先会转化为二进制的计算2.用什么存储金额?使用 int,

2021-01-06 19:11:19 691

原创 idea导入vue插件后,new没有看见Vue component

创建之后没看见明确的Vue解决办法| Settings | Editor | File and Code Templates设置之后就可以变成Vue的图标了代码:<template></template><script> export default { name:"${NAME}" }</scrip...

2020-04-23 14:42:07 4704 12

原创 LeetCode——Integer Inversion

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 public int r...

2020-03-23 22:00:49 48

原创 SpringBoot启动配置原理

SpringApplication.run(SpringbootDay06Application.class, args); //先创建SpringApplication再运行run1、创建SpringApplication对象initialize(sources);private void initialize(Object[] sources) { //保存主配置类 ...

2020-03-23 18:13:46 53

原创 MyBatis —— 连接池以及事务控制

连接池我们在实际开发中都会使用连接池,因为它可以减少为我们获取连接所消耗的时间(次数)。mybatis连接池提供了3种万式的配置:配置的位置:主配置文件SqlMapConfig. xml中的dataSource标签,type属性就是表示采用何种连接池方式。type属性的取值:POOLED:采用传统的javax. sql. DataSource规范中的连接池,mybatis中有针对规范的...

2020-02-18 13:48:01 88

原创 MyBatis ——CURD操作

目录结构SqlMapConfig.xml<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/...

2020-02-17 23:49:58 96

原创 Mybatis —— 环境搭建入门

mybatis的环境搭建第一步:创建maven工程并导入坐标 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5<...

2020-02-15 23:09:36 51

原创 Linux —— 组管理

在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。所有者所在组其它组改变用户所在的组查看文件的所有者指令:ls -ahl应用实例:创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组 ,然后使用 tom 来创建一个文件 ok.txt,看看情况如何修改文件所有者指令:chow...

2020-02-15 12:56:11 58

原创 Linux ——实用指令 >、>>、echo、head、tail、ln、history、date、cal、find、locate、grep、|、gzip、gunzip、zip、unzip、tar指令

>指令输出重定向:会将原来的文件内容覆盖基本语法:ls -l >文件 (列表的内容写入文件中)1.写入的文件会存放在当前文件夹下2.ls -l > bb.txt , 将 ls -l 的显示的内容覆盖写入到 bb.txt 文件,如果该文件不存在,就创建该文件。>>指令基本语法:ls -al >>文件 (列表的内容追加到文件的末尾)cat ...

2020-02-13 21:24:22 299

原创 Linux ——实用指令pwd、ls、cd、mkdir、rmdir、touch、cp、rm、mv、cat、more、less指令

pwd指令基本语法:pwd (显示当前工作目录的绝对路径)ls指令基本语法:ls 【选项】【目录或文件】常用选项:-a:显示当前目录所有的文件和目录,包括隐藏的。-l:以列表的方式显示信息cd指令基本语法:cd 【参数】(切换到指定目录)常用参数:cd~ 或 cd : 回到自己的家目录cd… 回到当前目录的上一级目录mkdir指令基本语法:mkdir 【选项】 ...

2020-02-13 00:36:49 706

原创 Linux ——实用指令(帮助指令)

1.man获取帮助信息基本语法:man [命令或配置文件] (功能描述:获得帮助信息)按q退出查看1.help获取帮助信息基本语法:help [命令或配置文件] (功能描述:获得帮助信息)...

2020-02-12 23:21:44 59

原创 Linux —— 实用指令(运行级别与找回root密码)

切换到指定运行级别的命令: init 【0123456】找回root密码思路:进入到单用户模式,然后修改root密码,因为进入单用户模式,root不需要密码就可以登录只能在虚拟机本机才能操作,不能通过远程操控来操作...

2020-02-12 23:08:20 57

原创 Linux —— 用户的管理(创建、删除、查询)

用户的创建基本语法useradd 【选项】 用户名说明:只有root有权限创建用户我们可以在home目录上看见创建的组文件组:Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。Linux 的用户需要至少要属于一个组。也可以在命令窗口使用指令查看细节说明当创建用户成功后,会自动的创建...

2020-02-12 14:05:10 175

原创 Linux —— XShell6远程操控开机、重启和用户登录注销

1.关机&重启命令shutdown -h now:表示立即关机shutdown -h 1:表示一分钟后关机shutdown -r now:表示立即重启halt:直接使用,等价于关机reboot:就是重启系统sync:把内存的数据同步到磁盘(当我们需要重启或关机时,都应该先sync指令)2.用户 登录和注销登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免...

2020-02-11 23:55:27 1506

原创 Linux —— Vi和Vim编译器(基本操作)

Vim是Vi的增强版本Vi和Vim的三种常见模式正常模式:在正常模式下,我们可以使用快捷键。以vim打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用「上下左右」按键来移动光标,你可以使用[删除字符」或「删除整行」来处理档案内容,也可以使用「复制、贴上」来处理你的文件数据。插入模式/编辑模式:在模式下,可以输入内容,一般都是按i(insert)进入编辑命令行模式...

2020-02-11 23:45:38 139

原创 Linux —— XShell6安装包及安装配置过程

XShell6安装包百度云盘:链接:https://pan.baidu.com/s/1nO4sTLoZPGxQ03nYpLqMWA提取码:evx0安装过程基本是“傻瓜式安装”XShell6的关键配置XShell6远程登录到Linux后,就可以使用指令来操作Linux系统这样就可以远程操作Linux了。...

2020-02-11 23:21:31 800

原创 Linux ——虚拟机网络连接的三种形式

1.桥接:Linux可以和其他的系统通信。但是可能造成ip冲突。比如你的电脑网络地址是 192.168.1.100 与你通信的是另外一台机器 需要在同一网段 比如是 192.168.1.200 那么你用虚拟机的网络地址也是在这个网段内,例如 192.168.1.1502.NAT:网络地址转换方式Linux可以访问外网,不会造成ip冲突。3.主机模式:你的Linux是一个独立的主机,不能访问外...

2020-02-10 14:43:25 113

原创 Linux —— VM安装WMware 此主机不支持64位客户机操作系统,此系统无法运行

**解决前提:**本机是64位操作系统1.在bios界面(重启电脑按F2或者F10) 进入界面 把Intel Virtualization Technology(英特尔处理器虚拟化技术),选择 Enabled,保存并重启。如果界面是Enabled,需要把点进去重新选择确认再重启2.查看Hyper-V是否开启,若开启则关闭:控制面板→卸载程序→启动或关闭windows功能→hive功能关闭...

2020-02-10 12:53:33 3126

原创 SpringMVC —— 拦截器

过滤器是servlet规范中的一部分,任何java web 工程都可以使用。拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能用。过滤器在url-pattern中配置了/*之后,可以对所有要访问的资源拦截。拦截器它是只会拦截访问的控制器方法,如果访问的是jsp,html,css, image或者js是不会进行拦截的。拦截器需要配置多个拦截器可以在mvc:in...

2020-02-08 01:26:11 122

原创 SpringMVC —— 异常处理器

SpringMVC异常处理的流程:引用sysExceptionResolver <!--配置异常处理器--> <bean id="sysExceptionResolver" class="com.fy.exception.SysExceptionResolver"/>package com.fy.controller;import com.fy.exc...

2020-02-08 00:34:45 127

原创 SpringMVC —— 文件上传(传统方式、SpringMVC方式、基于mvc跨服务器)

1.传统方式 <h3>传统文件上传</h3> <form action="file/testFileupload1" method="post" enctype="multipart/form-data"> 选择文件:<input type="file" name="upload"><br/> ...

2020-02-07 23:46:31 131

原创 SpringMVC —— 响应json数据发送ajax请求、json格式数据

目录结构:引入jquery文件,版本尽量在2.0以上。可以在官网下载,有需求的可以在下面留言。<%-- Created by IntelliJ IDEA. User: LFY Date: 2020/2/6 Time: 21:56 To change this template use File | Settings | File Templates.--%>...

2020-02-07 17:48:01 2450

原创 SpringMVC —— 常用注解

1.@RequestParam作用:把请求中指定名称的参数给控制器中的形参赋值属性:value:请求参数中的名称required:请求参数中是否必须提供此参数。默认值:true。表示必须提供,如果不提供报错<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><hea...

2020-02-06 17:31:09 335

原创 SpringMVC ——自定义类型转换器代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body> <%--请求参数绑定--%> <%-- &l...

2020-02-06 00:35:48 192

原创 SpringMVC —— 请求参数

请求参数的绑定说明1.绑定机制表单提交的数据都是k=v格式的username=fy&password=fySpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的要求:提交表单的name和参数的名称是相同的2.支持数据类型基本数据类型和字符串类型实体类型( JavaBean )集合数据类型(List、map集合等)基本数据类型和字符串类型...

2020-02-05 21:46:53 148

原创 SpringMVC —— @RequestMapping属性用法归纳

@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。属性:1.value:指定请求的实际地址,指定的地址可以是URI Template 模式;与path用法一样。2.method: 指定请求的method类型, GET、POST、PUT、DELETE等;3.produ...

2020-02-05 17:17:46 219

原创 SpringMVC —— 入门代码编写

执行流程1.DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。2.HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler3.HandlerExecution表示具体的Hand...

2020-02-05 02:35:44 193

原创 Spring —— 基础常用注解大全

1.声明bean的注解@Component: 组件没有明确的角色 可以作用在任何层次上@Service: 在业务逻辑层使用(service层)功能与Component一样@Repository: 在数据访问层使用(dao层) 功能与Component一样@Controller: 在展现层使用(控制器组件类) 功能与Component一样2.注入bean的注解@Autowired: ...

2020-02-03 00:54:46 314

原创 Spring 事务管理 —— 模拟转账案例(基于注解的事务控制)

domain 不变dao:package com.fy.dao.impl;import com.fy.dao.AccountDao;import com.fy.domain.Account;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core...

2020-02-02 21:14:39 362

原创 Spring 事务管理 —— 模拟转账案例(基于XML的声明式事务控制)

spring中基于xml的声明式事务控制配置步骤1.配置事务管理器2.配置事务的通知3.配置aop中通用切入点表达式4.建立事务通知和切入点表达式的对应关系5.配置事务的属性isolation:用于指定事务的隔离级别。就认值是DEFAULT,表示使用数据库的默认级别。propagation:用于指定事务的传播行为。状认值是REQUIRED,表示一定会有事务,增删改的选择。查询方法可...

2020-02-02 01:16:21 483

原创 Spring 事务管理 —— 模拟转账案例

dao层:package com.fy.dao;import com.fy.domain.Account;/** * 账户持久层接口 */public interface AccountDao{ /** * 根据Id的查询 * @param accountId * @return */ Account findAccountB...

2020-02-02 00:19:02 289

原创 Spring 事务控制 —— JdbcTemplate在DAO中的使用

package com.fy.dao;import com.fy.domain.Account;/** * 账户持久层接口 */public interface AccountDao{ /** * 根据Id的查询 * @param accountId * @return */ Account findAccountById(In...

2020-01-31 23:22:01 149

原创 Spring 事务管理 —— JdbcTemplate用法

1.Spring中得JdbcTemplateJdbcTemplate的作用:用于和数据库交互的,实现对表的CURD操作package com.fy.jdbctemplate;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DriverManagerDa...

2020-01-31 22:00:52 155

原创 Spring AOP——spring基于注解的AOP配置

XML:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmln...

2020-01-26 16:25:47 126

原创 Spring AOP——spring中的环绕通知

spring中的环绕通知:它是spring框架为我们提供的一种可以在代码中手动控制增强方法何时执行的方式。Spring框架为我们提供了一个接口: ProceedingJoinPoint。 该接口有一个方法proceed(),此方法就相当于明确调用切入点方法。该接口可以作为环绕通知的方法参数,在程序执行时,spring框架会 为我们]提供该接口的实现类供我们使用。用法:package com....

2020-01-26 14:13:43 342

原创 Spring AOP——spring基于XML配置的AOP 及 切入点表达式

Spring中基于XML的AOP配置步骤在这里插入代码片1.把通知bean也交给Spring来管理2.使用AOP:config标签表明开始AOP的配置3.使用aop:aspect标签表明配置切面id属性:是给切面提供一个唯一标识ref属性:是指定通知类bean的id4.在aop:aspect标签的内部使用对应标签来配置通知标签aop:before:表示配置前置通知method属性:...

2020-01-25 23:33:25 198

空空如也

空空如也

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

TA关注的人

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