自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shiro登陆认证流程(源码)

本文是基于springboot版本的,不多逼逼,直接上码1、依赖<!--shiro--><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.8.0</.version></dependency>2、配置类package com.dua

2021-11-18 20:43:33 517

原创 RabbitMQ安装(Mac版本)

RabbitMQ安装(Mac版本)RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境。安装brew install rabbitmq注:前提必须是mac安装了HomeBrew(软件包管理系统),以下都是基于mac版本的。如图显示的两种启动方式#方式一:brew services start rabbitmq;#方式二:进入默认的安装目录下,手动启动RabbitMQWeb管理界面及授权操作默认情况下,rabbitmq是没有安装的rabbitmq

2021-09-22 22:18:18 2982

原创 System.arraycopy()实现数组之间的复制

System.arraycopy()System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。对于一维数组来说,这种复制属性值传递,修改副本不会影响原来的值。对于二维或者一维数组中存放的是对象时,复制结果是一维的引用变量传递给副本的一维数组,修改副本时,会影响原来的数组。public static void arraycopy( ...

2020-03-21 16:28:55 249

原创 SpringMVC工作流程

(1)用户发送请求至前端控制器DispatcherServlet;(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handler;(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;(4)DispatcherServlet 调用 Handler...

2020-03-20 10:56:15 98

原创 idea热部署

idea热部署1、添加依赖<!--spring-boot-devtools --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <v...

2020-03-19 00:02:58 92

原创 Docker安装(CentOS7)

Docker安装(CentOS7)1、准备工作目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。2、查看内核版本#需要是root用户un...

2020-03-07 19:35:50 274

原创 SpringBoot整合pagehelper

SpringBoot整合pagehelperpagehelper相关知识了解PageHelper.startPage(int PageNum,int PageSize):用来设置页面的位置和展示的数据条目数,我们设置每页展示5条数据。PageInfo用来封装页面信息,返回给前台界面。PageInfo中的一些我们需要用到的参数如下表:相关属性说明PageInfo.list...

2020-03-04 12:08:11 174

原创 Java8新特性

Java8新特性1.1 Lambda表达式1.1.1 函数式编程思想面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程Java8引入了Lambda表达式之后,Java也开始支持函数式编程。Lambda表达式不是Java最早使用的,很多语言就支持...

2020-02-25 23:13:02 231

原创 MySQL高级(五)——慢查询日志

MySQL高级(五)——慢查询日志1、简介MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语...

2020-02-15 17:24:30 617

原创 Springboot整合Shiro——认证和授权

Shiro1、简介Apache Shiro是一个Java的安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成认证、授权、加密、会话管理、Web集成、缓存等。下载地址:https://shiro.apache.org/2、运行原理Subject:Subject其实代表的就是当前正在执行操作的...

2020-02-14 12:42:01 176

原创 SpringBoot整合Mybatis

SpringBoot整合Mybatis1、添加依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1&l...

2020-02-08 13:17:07 220

原创 Thymeleaf

Thymeleaf模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这些值,从哪来呢,我们来组装一些数据,我们把这些数据找到。然后把这个模板和这个数据交给我们模板引擎,模板引擎按照我们这个数据帮你把这表达式解析、填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。只不过呢...

2020-02-05 20:24:25 84

原创 YAML

YAMLYAML是 “YAML Ain’t a Markup Language” (YAML不是一种置标语言)的递归缩写。YAML语法基础语法k:(空格) v表示一对键值对(空格不能省略),以空格的缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。注意:属性和值的大小写都是十分敏感的。值的写法字面量字面量:普通的值【数字、布尔值、字符串】k: v字面量直接写在...

2020-02-05 12:05:58 307

原创 Linux系统准备(CentOS7)之jdk安装

1.1、查看系统自带的jdkrpm -qa | grep jdk1.2、删除系统自带的jdkrpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64rpm -e --nodeps java-...

2020-02-03 14:01:56 167

原创 MySQL高级(四)——索引失效的情况

MySQL高级(四)——索引失效的情况

2020-02-02 15:53:09 178

原创 MySQL高级(三)——索引单表优化案例

MySQL高级(三)——索引单表优化案例#创建表格CREATE TABLE if not exists `article`( `id` int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, `author_id` INT(10) UNSIGNED NOT NULL, `category_id` INT(10) UNSIGNED NOT...

2020-01-31 19:30:25 188

原创 MySQL高级(二)

MySQL高级(2)索引(Index)是帮助MySQL高效获取数据的数据结构。可以简单理解为排好序的快速查找数据结构。数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。1、索引的分类(1)单值索引:一个索引只包含单个列,一个表可以有多个单列索引。(2)唯一索引:索引列的值必须...

2020-01-30 23:15:48 88

原创 MySQL高级(一)

MySql高级(一)1、MySQL逻辑架构首先,mysql的查询流程大致是:mysql客户端通过协议与mysql服务器建连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果,否则进行语句解析,也就是说,在解析查询之前,服务器会先访问查询缓存(query cache)——它存储SELECT语句以及相应的查询结果集。如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及...

2020-01-29 12:37:37 147

原创 JDBC

JDBC1、简介JDBC:Java Database Connectivity,它是代表一组独立于任何数据库管理系统(DBMS)的API,声明在java.sql与javax.sql包中,是SUN(现在Oracle)提供的一组接口规范。由各个数据库厂商来提供实现类,这些实现类的集合构成了数据库驱动jar。2、JDBC使用步骤(1)注册驱动(2)获取数据库连接对象Connection(3...

2020-01-28 23:55:15 86

原创 Linux系统准备(CentOS7)之MySQL安装

MySQL安装——LinuxMySQL下载链接:http://downloads.mysql.com/archives/community/mysql安装(5.5)(1)查询是否安装过#查看系统是否安装了mysqlrpm -qa | grep mysql #查看系统是否安装了mariadb,MariaDB是MySQL关系数据库管理系统的一个复刻rpm -qa | grep maria...

2020-01-28 12:17:21 74

原创 Elasticsearch系列(二)安装kibana

说明:由于安装Elasticsearch的版本是elasticsearch-5.6.4.rpm,所以Kibana的版本应该和Elasticsearch一致。1、安装包下载下载链接:https://www.elastic.co/cn/downloads/past-releases2、将安装包上传到Linux将kibana-5.6.4-x86_64.rpm拷贝到opt目录下3、安装rp...

2020-01-27 11:40:29 187

原创 Elasticsearch系列(一)安装Elasticsearch

0、安装说明本文选择的版本是elasticsearch-5.6.4.rpm,Linux系统是CentOS7,需要给Linux配置jdk环境1、安装包下载下载链接:https://www.elastic.co/cn/downloads/past-releases#elasticsearch2、将安装包上传到Linux将elasticsearch-5.6.4.rpm拷贝到opt目录下...

2020-01-26 19:51:16 123

原创 SpringBoot配置文件的加载位置

SpringBoot配置文件的加载位置SpringBoot启动会扫描以下位置的application.propertie或者application.yml文件作为SpringBoot的默认配置文件——file: ./config/——file: ./——classpath: /config/——classpath: /以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,优先级高...

2020-01-26 15:22:28 126

原创 SpringBoot常用注解

SpringBoot常用注解@Autowired按类型装配@PathVariable与@@RequestParam@PathVariable注解的用法和作用通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过注解@PathVariable(“xxx“) 绑定到操作方法的入参中。/**1. @Request...

2020-01-26 15:03:18 66

原创 SpringMVC常用的注解

SpringMVC常用的注解@RequestMapping@RequestMapping注解处理控制器上的url请求,可以标记在类和方法。@RequestMapping中有value、method、params、heads,分别表示请求URL、请求方法、请求参数、请求头。@Controller@RequestMapping("/springmvc")public class Sprin...

2020-01-04 11:31:16 90

原创 MyBatisPlus的代码生成器

MyBatisPlus的代码生成器(1)添加依赖<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator --><dependency> <groupId>com.baomidou</groupId> <artifactId&gt...

2019-12-23 20:11:58 215 1

原创 springboot整合

SpringBoot整合手动创建1、准备工作首先,要在eclipse环境下使用springboot,必须先配置好maven环境变量(详细步骤请看maven快速使用)。2、STS整合MavenMaven插件的设置:Window→Preferences→Maven→Installations3、创建maven工程4、在pom.xml文件中引入父工程和依赖<parent&gt...

2019-10-08 20:29:03 85

原创 Maven快速使用

Maven快速使用1、简介Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。2、构建环节①清理:删除以前的编译结果,为重新编译做好准备。②编译:将Java源程序编译为字节码文件。③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。④报告:在每一次测试后以标准的格式记录和展示测试结果。⑤打包:将一个包含诸多文件的工程封装为一个压缩文件...

2019-10-08 19:11:54 104

原创 Redis简单介绍及安装

Redis简单介绍及安装文章目录Redis简单介绍及安装1.1、NoSQL数据库概述1.2、NoSQL适用场景1.3、简介1.4、Redis安装1.5、redis的启动1.6、客户端访问1.7、关闭Redis服务1.1、NoSQL数据库概述NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的k...

2019-09-22 14:44:13 82

原创 JQuery

JQuery1、简介JQuery:是一个兼容多浏览器的、轻量级的JavaScript库,其宗旨为:WRITE LESS,DO MORE。2、jQuery的核心函数:$()$是jQuery的核心函数,jQuery的核心功能都是通过这个函数实现的。$的四个作用:$(function(){}):相当于window.onload = function(){}$(“选择器”):根据这个选择器...

2019-09-16 20:37:09 122

原创 MyBatis映射文件

MyBatis映射文件文章目录MyBatis映射文件简介mappers映射器MyBatis——CRUD(增删改查)(1)准备工作(2)创建接口EmployeeMapper(3)查询(4)添加主键生成方式(5)删除(6)更新(7)根据员工id和姓名获取员工对象(8)测试类简介MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单...

2019-09-14 22:06:55 71

原创 MyBatis 缓存机制

MyBatis缓存机制文章目录MyBatis缓存机制1、缓存机制简介2、一级缓存的使用3、一级缓存失效的几种情况4、二级缓存的使用1、缓存机制简介用户发送请求,dispatchServlet会根据请求调用对应的Controller进行处理,然后经过Service和Mapper,当Mapper去数据库查询数据之前,会先去缓存里去找,如果在缓存里没有找到,再去数据库里查询,这样可以避免和数据库的...

2019-09-14 22:03:17 77

原创 拦截器

拦截器文章目录拦截器1、自定义拦截器概述2、单个拦截器3、多个拦截器4、 多个拦截方法的执行顺序4.1、多个拦截器的执行顺序以及方法的执行情况1、自定义拦截器概述Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter适配器类。①...

2019-09-08 21:08:59 96

原创 JSTL

JSTL1、简介全称:JSP Standard Tag Library(jsp标准标签库)JSTL主要是以html形式,表达java的语义。JSTL一共有五大功能,常用核心、格式化、函数。2、JSTL使用准备工作(1)导入两个jar包taglibs-standard-impl-1.2.5taglibs-standard-spec-1.2.5(2)引入标签库<%@ ...

2019-09-07 15:59:10 56

原创 EL

EL1、简介EL是JSP内置的表达式语言。2、作用①用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作②EL表达式用于代替JSP表达式(<%= %>)在页面中做输出操作。3、特点EL在得到某个数据时,会自动进行数据类型的转换。EL表达式仅仅用来读取数据,而不能对数据进行修改。使用EL表达式输出数据时,如果有则输出数据,如果为n...

2019-09-07 15:37:41 76

原创 Servlet

Servlet1.1什么是Servlet(Server Applet)服务器端小程序。为什么使用Servlet ?因为客户端(html或者jsp无法直接访问java文件,而我们需要客户端请求java文件。所以,需要特殊的java文件,即Servlet。特点:①可以被页面直接请求,即是URL特性(页面可以直接访问、浏览器也可以直接访问)。②全类名(让Servlet容器、JSP容器、Web容...

2019-09-07 13:39:11 60

原创 JdbcTemplate

JdbcTemplate简介为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架。​ 作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法,通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。①环境准备所需要的jar包(1)IOC容器所需要的JAR包commo...

2019-09-03 20:51:52 71

原创 REST

REST简介REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用① 资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统...

2019-09-03 20:34:46 75

原创 SpringMVC(简单介绍)

SpringMVC(简单介绍)1.1SpringMVC 概述Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一。Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。一种轻量级的、基于MVC的Web层应用框架。偏前端而不是基于业务逻辑层。Spring框架的一个后续产品。支持 REST ...

2019-09-03 19:58:45 242

原创 Cookie

CookieCookie简介由于HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出。这样的设计严重阻碍的Web程序的设计。Cookie实际上就是服务器保存在浏览器上的一段信息,用于区分不同用户。浏览器有了Cookie之后,每次向服务器发送请求时都会同时将该信息发送给服务器,服务器收到请求后,就可以根据该信息处理请求。Cookie的用途...

2019-09-01 22:24:02 54

空空如也

空空如也

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

TA关注的人

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