自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Utils】JsonUtil

工具类

2022-07-28 01:55:58 217 1

原创 【Utils】ServletUtil

工具类

2022-07-28 01:54:45 279

原创 【Utils】CookieUtil

Cookie工具类

2022-07-28 01:52:04 192

原创 【Utils】HttpClient工具类

HttpClient工具类

2022-07-27 23:53:36 118

原创 【Util】redis工具类:把redis的value序列化器修改为GenericJackson2JsonRedisSerializer,就支持返回值为对象或集合了

redis工具类

2022-07-27 17:30:29 237

原创 【Utils】FastDFS工具类

工具类

2022-07-27 16:44:56 418

原创 idea里使用module项目的一个bug

working directory加上 **$ MODULE_WORKING_DIR$ **

2022-07-03 23:11:23 119

原创 【MongoDB】MongoTemplate 操作 Aggregation 中添加 addFields

MongoDB问题

2022-04-24 17:53:18 3123 1

原创 【MongoDB】SpringData -在MongoRepository中使用mongoTemplate

一、创建MyRepository接口在MyRepository中引用MongoTemplatepublic interface MyRepository { Page<Reading> findTest(SUser sUser, Pageable pageable);}二、创建实现类MyRepositoryImpl实现MyRepository包含Aggregate用法public class MyRepositoryImpl implements MyRepository

2022-04-22 18:15:33 1400

原创 1.【Nginx】安装时配置参数代码

./configure \--prefix=/usr/local/nginx \--pid-path=/usr/local/nginx/logs/nginx.pid \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--with-http_ssl_module \--with-http_gzip_static_module \--http-cl

2022-03-21 18:09:57 3082

原创 【MyBtis】Mybatis generator 生成 Mapper 方法不全

缺少的方法全部都是和 PrimaryKey 有关的方法,加上即可 <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/baizhan?serverTimezone=UTC" userId="root" password="123456"> <property name="nullCatalogMeansCurrent" val

2021-12-31 16:13:01 738

原创 JavaWeb---【验证码工具类】

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.anno

2021-12-23 18:49:18 148

原创 JavaWeb---【JSON工具类】

import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;/** * JSON转换工具类 */public class JsonUtils { // 定义jackson对象 pr

2021-12-23 18:46:00 81

原创 【ES6快速入门】

一、ECMAScript 6.0 简介ECMAScript 6.0 (以下简称ES6, ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是 European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言)一种脚本语 言的标准,已经在2015年6月正式发布了,并且从ECMAScript6开始,开始采用年号来做版本。即ECMAScript 2015,就是ECMAScript6它的目标,是使得JavaScript

2021-09-07 16:47:07 175

原创 【Lombok快速入门】

一、安装Lombokidea安装插件二、加入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.0</version> <scope>provided</scope></dependency>三、注解

2021-09-07 15:01:20 164

原创 【OSS文件上传快速入门】

一、OSS介绍阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服 务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读 取数据。二、OSS中的相关概念Endpoint:访问域名,通过该域名可以访问OSS服务的API,进行文件上传、下载等操作。Bucket:存储空间,是存储对象的容器,所有存储对象都必须隶属于某个存储空间。Object:对象,对象是 OSS

2021-09-07 14:04:53 1512

原创 【MyBatisPlus快速入门】

一、MyBatisPlus介绍MyBatis­Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开 发、提高效率而生。就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作, 更有

2021-09-04 18:48:50 1788

原创 【Vue快速入门】

一、简介Vue (读音 /vju/,类似于 view) 是中国的大神尤雨溪开发的,为数不多的国人开发的世界顶级开源软件。 是一套用于构建用户界面的渐进式框架 。Vue 被设计为可以自底向上逐层应用。 MVVM响应式编程模型,避免直接操作DOM , 降低DOM操作的复杂性。1.MVVM编程思想MVVM:页面输入改变数据,数据改变影响页面数据展示与渲染M(model):普通的javascript数据对象V(view):前端展示页面VM(ViewModel):用于双向绑定数据与页面,对于我们的课

2021-08-27 09:50:19 869

原创 【SpringBoot项目小整理】验证码(工具类)

1.工具类

2021-08-25 15:29:04 316

原创 [SpringBoot小整理]SpringBoot整合Thymeleaf

1.导入依赖(俺是在Controller子模块导入)<!--SpringBoot整合thymeleaf 启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dep

2021-08-25 12:45:18 106

原创 SSM项目在阿里云部署

一、阿里云购买服务器二、第一次登录先重置实例密码进入ESC控制台点击i…开头字符串进去然后重启三、下载xshell和Xftp 6百度下载破解即可四、测试连接五、在服务器上安装 jdkXshell输入命令yum -y install java-1.8.0-openjdk.x86_64查看Java版本:六、安装MySQL(8.0)cd /usr/localmkdir mysqlcd mysqlwget https://repo.mysql.com//mysql80

2021-08-19 12:42:27 322 2

原创 maven的Tomcat插件配置

pom文件中添加配置<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <!

2021-08-12 10:54:04 116 1

原创 Web登录小案例(含验证码登录)

文件结构druidpool.propertiesdriverClassName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/mytest?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8username=rootpassword=123456# 初始化连接数量initialSize=10# 最大的连接数量maxActive=200

2021-08-06 20:57:24 454

原创 Vue跨域问题解决方案

1.跨域问题2.模拟跨域新建server包,下面新建index.jsconst express = require("express");const app = express();app.get("/list",(req,res) =>{ res.send({ status:200, result:"hello" })})app.listen(3000,()=>{ console.log("服务器运行在3000端口上"

2021-08-03 17:00:35 230

原创 Vue网络请求封装Axios

一、新建utils包,在其下面新建request.jsimport axios from "axios"import qs from "querystring"/*** * 错误信息处理函数 */const errorsHandle = (status,info) =>{ switch(status){ case 400: console.log("语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。");

2021-08-03 15:37:37 147

原创 02.Vue框架(微博发布框代码案例,watch监听属性和百度预搜索案例)

一、HTML部分表单元素介绍<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">

2021-07-31 17:52:07 294

原创 01.Vue的介绍和使用

一、Vue的介绍二、Vue的基本使用注意:Vue它是属于前端当中的一个JavaScript框架,源码都封装到了一个尾缀为JS这样一样的文件里面这里使用HBuilder中创建项目直接引入初步案例代码<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script src="js/vue.js" type="text/

2021-07-31 10:31:36 158

原创 06.【设计模式】门面模式

1.定义门面模式(Facade Pattern)又叫外观模式,提供了一个统一的接口,用来访问子系统中的群接口。其主要特征是定义了一个高层接口,让子系统更容易使用属于结构性模式2.描述3.应用场景4.通用写法5.门面模式业务场景实例6.门面模式的优缺点优点缺点...

2021-07-26 23:55:00 54

原创 05.【设计模式】代理模式

1.定义2.应用场景3.代理模式的通用写法首先创建代理主体角色ISubject类public interface ISubject { void request();}创建真实主体角色RealSubjectpublic class RealSubject implements ISubject{ @Override public void request() { System.out.println("real service is calle

2021-07-26 21:47:24 53

原创 04.【设计模式】建造者模式

1.定义2.适用场景3.基本写法以课程为例,例如一个完整的课程需要由 PPT课件、 回放视频、课堂笔记、课后作业组成,但是这些内容的设置顺序可以随意调整。我们用建造者模式来代入理解一下。首先创建一个需要构造的产品类 Course@Datapublic class Course { private String name; private String ppt; private String video; private String note; p

2021-07-26 15:29:39 137

原创 03.【设计模式】原型模式

1.定义原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节,不调用构造函数。属于创建型模式原型模式的核心在于拷贝原型对象 。以系统中已存在的一个对象为原型,直接基于内存二进制流进行拷贝,无需再经历耗时的对象初始化过程(不调用构造函数) 性能提升许多。当对象的构建过程比较耗时时,可以利用当前系统中已存在的对象作为原型,对其进行克隆(一般是基于二进制流的复制)躲避初始化过程,使得新对象的创建时间大大减少。注

2021-07-26 01:31:46 46

原创 02.【设计模式】单例模式

1.定义单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。隐藏其所有的构造方法属于创建型模式2.适用场景确保任何情况下都绝对只有一个实例例如:ServletContext、ServletConfig、ApplicationContext、DBPool3.单例模式的常见写法3.1 饿汉式单例(在单例类首次加载时就创建实例)案例代码3.2 懒汉式单例3.3 注册式单例3.4 ThreadLocal单例...

2021-07-25 18:10:40 71

原创 01.【设计模式】工厂模式

一、前言工厂模式由来:在显示生活中,原始生活自给自足(没有工厂)、农耕社会小作坊(简单工厂,民间酒坊)、工业革命流水线(工厂方法,自产自销)、现代产业链代工厂(抽象工厂,富士康)二、简单工厂模式1.介绍简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于GOF23 种设计模式。简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的的逻辑不需要关心。简单工厂缺点:工厂类的职责相对过重,不易于扩

2021-07-24 23:53:45 141

原创 07.合成复用原则(Composite/Aggregate Reuse Principle,CARP)

1.定义指尽量使用对象 组合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的继承我们叫做白箱复用,相当于把所有的实现细节暴露给子类。组合/聚合也称之为黑箱复用,对类以外的对象是无法获取到实现细节的。要根据具体的业务场景来做代码设 计,其实也都需要遵循 OOP 模型2.优点可以使系统更加 灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少3.案例案例情景:以数据库操作为例3.1 初始版本创建 DBConnection 类public cla

2021-07-24 14:53:07 146

原创 06.里氏替换原则(Liskov Substitution Principle,LSP)

1.定义指如果对每一个类型为 T1 的 对象 o1,都有类型为 T2 的对象 o2,使得以 T1 定义的所有程序 P 在所有的对象 o1 都替换 成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。定义看上去还是比较抽象,我们重新理解一下,可以理解为一个软件实体如果适用一 个父类的话,那一定是适用于其子类,所有引用父类的地方必须能透明地使用其子类的 对象,子类对象能够替换父类对象,而程序逻辑不变。根据这个理解,我们总结一下: 引申含义:子类可以扩展父类的功能

2021-07-24 12:09:36 124

原创 05.迪米特原则(Law of Demeter LoD)

1.定义指一个对象应该对其他对象保持最少的了解,又 叫最少知道原则(Least Knowledge Principle,LKP),尽量降低类与类之间的耦合。迪米特原则主要强调只和朋友交流,不和陌生人说话。出现在成员变量、方法的输入、输出参数中的类都可以称之为成员朋友类,而出现在方法体内部的类不属于朋友类。2.案例案例情景:现在来设计一个权限系统,Boss 需要查看目前发布到线上的课程数量。这时候,Boss 要找到 TeamLeader 去进行统计,TeamLeader 再把统计结果告诉 Boss

2021-07-24 10:52:58 141

原创 04.接口隔离原则(Interface Segregation Principle)

1.原则定义是指用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。这个原则指导我们在设计接口时应当注意一下几点:一个类对一类的依赖应该建立在最小的接口之上。建立单一接口,不要建立庞大臃肿的接口。尽量细化接口,接口中的方法尽量少(不是越少越好,一定要适度)。2.优点接口隔离原则符合我们常说的 高内聚、低耦合 的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性。在设计接口的时候,要多花时间去思考,要考虑业务模型,包括以后有可能发生变更的地方还要做一些预判。3.案

2021-07-24 00:27:56 169

原创 03.单一职责原则(Simple Responsibility Pinciple)

1.定义指不要存在多于一个导致类变更的原因。一个类、接口、方法只负责一项职责。假设我们有一个 Class 负责两个职责,一旦发生需求变更,修改其中一个职责的 逻辑代码,有可能会导致另一个职责的功能发生故障。这样一来,这个 Class 存在两个导 致类变更的原因。如何解决这个问题呢?我们就要给两个职责分别用两个 Class 来实现, 进行解耦。后期需求变更维护互不影响。这样的设计,可以降低类的复杂度,提高类的 可 读 性 , 提 高 系 统 的 可 维 护 性 , 降 低 变 更 引 起 的 风 险 。

2021-07-23 23:13:26 98

原创 02.依赖导致原则 - Dependence Inversion Principle

1.定义依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模 块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节;细节应该依赖 抽象。2.优点通过依赖倒置,可以减少类与类之间的耦合性,提高系统的稳定性,提高代码的 可读性和可维护性,并能够降低修改程序所造成的风险。3.案例3.1 初始版本以课 程为例,先来创建一个类 MikeMikepublic class Mike { public void studyJav

2021-07-23 22:24:29 211

原创 01.开闭原则 Open-Closed Principle

1.定义指一个软件实体如类、模块和函数应该 对扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。强 调的是用抽象构建框架,用实现扩展细节。2.介绍开闭原则,是面向对象设计中最基础的设计原则。它指导我们如何建立稳定灵活的系统例如:我们版本更新,我们尽可能不修改源代码,但是可以增加新功能。 在现实生活中对于开闭原则也有体现。比如,很多互联网公司都实行弹性制作息时间, 规定每天工作 8 小时。意思就是说,对于每天工作 8 小时这个规定是关闭的,但是你什 么时候来,什么时候走是开放的。

2021-07-23 21:03:24 194 2

空空如也

空空如也

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

TA关注的人

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