自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

转载 PowerDesigner设置

具体说明在帮助里写的很清楚。在修改name的时候,code的值将跟着变动,很不方便。修改方法:PowerDesign中的选项菜单里修改,在[Tool]–>[General Options]->[Dialog]->[Operating modes]->[Name to Code mirroring],这里默认是让名称和代码同步,将前面的复选框去掉就行了。其中的 ts、dr 两列会在生成SQL脚本的时候自动的插入每个表格中,其中的%TNAME% 变量是给每个表格的SQL添加一个该表的Name值注释。

2024-07-16 09:07:39 6

原创 Tomcat、Servlet路径分析

实际上对于servlet容器来说,他并不关心path info,只要通过url(剔除context-path余下的部分)匹配上servlet,并将请求委托给其处理后,剩余的流程就和servlet容器无关了。因为是精确匹配,所以url(剔除context-path余下的部分)必须等于servlet的url-pattern;url去掉Context Path后,剩余的部分用于匹配servlet。将url(剔除context-path余下的部分)拆分成servlet path、path info也是分上述场景。

2023-07-25 10:31:08 557

转载 Docker镜像编译方式

更新程序后编译新的镜像效率低。在实际应用中,修改程序编译代码的频率将大大高于依赖的变化,所以我们最好将它们分在不同的层,这样不变的层在docker中可以直接使用缓存。org.springframework.boot.loader.JarLauncher,是Spring Boot的Main类的入口,想更多了解,可参考《Spring Boot独立运行的jar包是如何工作的》。开始之前,如果你想对Spring Boot的jar包有更深入的了解,可参考我的《Spring Boot独立运行的jar包是如何工作的》。

2023-04-09 15:14:21 418

转载 Jackson常用注解

Jackson序列化、反序列化注解用法

2022-12-06 16:58:52 999

原创 Spring Cloud应用

看完本文,能够掌握Spring Cloud各个组件的基本使用,以及构建一个spring Cloud项目的流程

2022-10-11 19:39:37 616

原创 SSO和Oauth2的区别

SSO, single sign on,单点登录。sso多用于多个应用之间的切换,在其中一个系统中登录, 切换到另一个系统的时候,不必再次输入用户名密码。

2022-10-11 19:34:59 2907

原创 源码分析@Autowired注解和@Resource注解的区别

@Autowired和@Resource注解都可以在Spring应用中进行声明式的依赖注入。以前都是看的网上关于两者的区别,但是实际和网上说的有出入,故从源码角度进行分析、验证。

2022-10-11 19:31:08 240

原创 Windows Terminal 集成 Git Bash

通过 Windows Terminal 来启动 Git Bash,摆脱掉丑陋的 Git 默认的 Bash界面。

2022-07-24 15:38:35 733

原创 02-Redis基础

Redis基础命令、数据结构、持久化、发布订阅模式、主从复制、哨兵模式、缓存穿透、缓存击穿、缓存雪崩等

2022-04-03 20:38:52 1086

原创 01-Redis安装配置

redis的安装配置以及远程连接操作等

2022-04-03 20:33:02 686

原创 02-Linux中安装、配置ssh

Linux系统中安装、配置ssh服务,并通过xshell、putty等远程工具连接

2022-04-03 17:15:00 285

原创 01-Linux配置root用户

我们装完Linux系统(如Ubuntu、deepin)后,只有一个普通用户,很多操作命令都要加sudo去提升权限,让人很不爽,那么怎么直接使用root用户呢?其实很简单。Linux系统都是默认提供root用户的,只是我们个人使用时给我们禁用了,防止权限过高造成一些不好的影响。那么系统时怎么禁用的呢,其实就是没有给root账号提供密码,没有密码,当然就登录不了,因此只要我们给root账号添加一个密码即可,输入如下命令sudo passwd root,安装提示设置密码,这里设置的密码就是root账号的密码,然

2022-04-03 17:03:30 3810

原创 Maven中resources目录下的文件编译打包后不可用

一、问题maven项目编译打包后,发现部分文件无法正常使用,如下:二、原因分析maven打包项目的时候会自动对项目进行统一编码,但是一些文件可能不需要此操作,由没有特殊处理,就会出现上面这种情况。例如: 证书文件、excel文件等,重新编码后导致这些文件不可用(猜测为无访问权限)。三、解决方案显式配置maven-resources-plugin插件,通过nonFilteredFileExtensions设置resources目录下不需要重新编码的文件后缀。<plugin>

2021-11-15 17:28:52 1347

原创 SpringBoot+MySQL时区问题

1、问题说明使用springboot + MySQL的项目中,经常出现前端页面展示的时间和MySQL数据库里的时间不一致的情况,致人崩溃,故花时间搞清楚之其中的原理。2、问题分析数据库中的时间到我们将他展示到页面上,要经过如下流程:**数据库服务器 ——> Java代码 ——> 日期格式化(展示)其中,有两个地方涉及到时区问题(手动配置):服务器时区:即MySQL的时区,通过url指定serverTimezone来指定本次连接MySQL的时区,不知道时默认为系统时区show V

2021-11-04 20:53:17 3031

原创 Class对象和枚举对象的比较

一、Class对象间的比较结论都可以,推荐使用 == 进行比较原因1、源码查看Class类的源码可知,其并未重现equals()方法,当调用equals()方法时,实际上调用的时Object类的equals()方法,里面直接进行的==判断,因此使用equals()方法与使用 == 得到的结果是一样的。2、原理Class类是一个特殊类,它用于表示JVM运行时类或接口的信息,是类被JVM加载后在内存中创建的一个该类的Class对象,用来存储该类的各种信息。因此Class类对象的创建只与JVM

2021-09-08 17:37:01 555

转载 五大常用算法:分治、动态规划、贪心、回溯和分支界定

【转载】原文地址:五大常用算法:分治、动态规划、贪心、回溯和分支界定分治算法一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解.

2021-08-09 15:38:45 499

原创 Springboot参数检验

@RestControllerAdvicepublic class GlobalException { @ExceptionHandler(ConstraintViolationException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public ResultBack handleConstraintViolationException(ConstraintViolationException ex) {

2021-01-25 09:51:40 600

原创 Windows下查看端口占用

一、 查看端口二、结束进程,释放端口一、 查看端口打开命令行窗口不知道的同学 windows 10 直接搜索cmd即可输入 netstat -ano,列出所有端口信息查看指定端口信息netstat -aon|findstr 端口号,如查看3306端口信息:netstat -aon|findstr 3306上图中最后一个数就是进程编号——PID,通过它就可以找到具体进程查看那个应用/进程在使用该PIDtasklist|findstr 53052可以看到,是mysqld.exe这个.

2021-01-03 20:05:42 241 1

原创 MySQL时区问题

一、MySQL 5.5.6版本url 中不论加不加serverTimezone属性,返回的时间都会少8小时,相当于后面测试中的第二种情况,默认时区为东八区。二、MySQL 8.0.20版本url中必须添加serverTimezone属性,否则进行sql操作时会报如下的错:java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

2021-01-03 18:38:09 516 2

原创 SpringBoot——日志管理

一、SLF4J定义二、 SpringBoot日志三、logback的配置文件详解四、springboot配置logback配置文件路径一、SLF4J定义slf4j,即(Simple Logging Facade for Java,简单门面日志)。它是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,它只服务于各种各样的日志系统。slf4j就是设计模式之门面(外观)模式的典型应用。二、 SpringBoot日志结论:Springboot默认使用logback来管理日志先看一个.

2021-01-03 13:42:05 371

原创 设计模式之命令模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。二、优缺点优点:通过引入中间件(抽象接口)降低系统的耦合度。扩展性良好,增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,且满足“开闭原则”。可以实现宏命令。命令模式可以与组合模式结合,将多个命令.

2020-12-21 21:48:34 117

原创 设计模式之责任链模式

这里写目录标题一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. 模式结构五、代码实现一、简介责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。二、优缺点优点:降低了对象之间的耦合度。该模式使得一个对象无须知道到底是哪一个对象处理其请求以及链的结构,发送者和接收者也无须拥有对方的明确信息。增

2020-12-21 21:39:06 112

原创 设计模式之迭代器模式

一、简介二、优缺点1. 优点2. 缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。二、优缺点1. 优点访问一个聚合对象的内容而无须暴露它的内部表示。遍历任务交由迭代器完成,这简化了聚合类。它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。增加新的聚合类和迭代器类都很方便,无须修改原有代码。封装性良好,为遍历不同的聚合结构提供.

2020-12-21 21:30:55 89

原创 Maven中jdk版本设置和编码设置

一、问题提出一、问题提出新建一个空的Maven项目,jdk使用的时1.8,但是在代码中使用lambda表达式时报错,查找原因:查看项目结构,发现其语言级别为5.0,并不是与我们使用的jdk1.8项对应的8.0查看编译器版本...

2020-12-20 17:21:30 1199

原创 Maven私服详解

一、私服介绍二、常用私服即按照使用三、私服使用一、私服介绍二、常用私服即按照使用三、私服使用

2020-12-20 17:16:06 400

原创 Maven中settings文件详解

一、自带的settings文件二、元素说明三、两种完整的settings文件一、自带的settings文件二、元素说明三、两种完整的settings文件

2020-12-20 17:12:43 11798 1

原创 Maven设置远程仓库的优先级

零、前言一、Maven设置远程仓库二、测试使用到的settings.xml和pom.xml1. settings.xml2. pom.xml三、测试测试一:测试二:测试三:测试四:四、总结:1. maven设置远程仓库的优先级如下:2. 设置远程仓库的两种配置方式零、前言网上找了很多文章,说maven几种远程仓库的优先级是如下的关系:settings.xml的profile的仓库 > pom.xml的profile的仓库 > pom.xml的仓库 > 中央仓库这跟我本地项目编.

2020-12-20 16:46:55 3164 1

原创 设计模式之观察者模式

@TOC一、简介观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。二、优缺点优点:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。目标与观察者之间建立了一套触发机制。缺点:目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率

2020-12-12 21:31:59 142

原创 设计模式之模板方法模式

一、简介二、优缺点三、应用场景四、模式结构1 .主要角色2. UML类图五、代码实现一、简介模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。二、优缺点优点:它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展。它在父类中提取了公共的部分代码,便于代码复用。部分方法是由子.

2020-12-12 21:23:49 78

原创 设计模式之策略模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。二、优缺点优点:多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。策略模式.

2020-12-12 21:00:55 85

原创 设计模式之享元模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介享元(Flyweight)模式的定义:运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。二、优缺点优点:相同对象只要保存一份,这降低了系统中对象的数量,从而降低了系统中细粒度对象给内存带来的压力。缺点:为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性。读取享元模式的外部状.

2020-12-06 21:15:02 94

原创 设计模式之组合模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介组合(Composite Pattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。在组合模式中,整个树形结构中的对象都属于同一种类型,带来的好处就是用户不需要辨别是树枝节点还是叶子节点,可以直接进行操作,给用户的使用带来极大的便利。二、优缺点优点:.

2020-12-06 21:04:04 182

原创 设计模式之桥接模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。二、优缺点优点:抽象与实现分离,分离了抽象部分及其实现部分两个维度,实现了代码的解耦,提高了系统的扩展性。扩展功能时只需要新增类,无需修改源代码,符合开闭原则。通过组合而不是继承来实现耦合,符合合成复用原则。其实现细节对客户透明缺点:桥接模.

2020-12-06 20:49:50 111

原创 设计模式之外观模式

一、简介二、优缺点三、应用场景四、模式结构1. 模式结构2. UML类图五、代码实现一、简介外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。在日常编码工作中,我们都在有意无意的大量使用外观模式。只要是高层模块需要调度多个子系统(2个以上的类对象),我们都会自觉地创建一个新的类封装这些子系统,提供精简的接口.

2020-12-06 20:35:20 215

原创 设计模式之装饰者模式

@TOC一、简介装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。二、优缺点优点:装饰器是继承的有力补充,比继承灵活,在不改变原有对象的情况下,动态的给一个对象扩展功能,即插即用通过使用不用装饰类及这些装饰类的排列组合,可以实现不同效果装饰器模式完全遵守开闭原则缺点:装饰模式会增加许多子类,过度使用会增加程序得复杂性。三、应用场景1) 当需要给一个现有类添加附加职责,而又不能采用生成子类的方法进行扩充时。

2020-12-01 22:11:29 85

原创 设计模式之代理模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现一、简介代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。二、优缺点优点:代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;代理对象可以扩展目标对象的功能;代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度,增加了程序的可扩展性缺点:代理模式会造成系统设计中.

2020-12-01 21:52:11 136

原创 设计模式之适配器模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图3. 两者结构模型的区别五、代码实现一、简介适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。二、优缺点优点:客户端通过适配器可以透明地调用目标接口。复用了现存的类,程序员不需要修改原有.

2020-12-01 21:42:13 80

原创 SpringBoot整合Mybatis(一)

一、环境准备二、数据准备三、搭建流程1. 项目搭建2. 代码实现1. pom文件(dependencies依赖部分)**重点,敲黑板**2. 新建项目结构(MVC结构)3. 配置文件4. 代码实现一、环境准备开发工具 IDEAMySQL数据库(注意版本,下文有说)二、数据准备直接上图(就不给具体代码了)三、搭建流程1. 项目搭建搭建流程如下所示:这时,拿起水杯喝口水,等他创建完成,目录结构如下所示:现对该目录结构做个简单介绍:2. 代码实现1. pom文件(.

2020-11-25 23:21:44 133

原创 设计模式之原型模式

一、简介二、优缺点三、应用场景四、模式结构1. 主要角色2. UML类图五、代码实现1. 浅克隆和深克隆2. 注意事项:3. 浅克隆实现4. 深克隆实现一、简介原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。二、优缺点优点:Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以.

2020-11-22 20:00:47 170 2

原创 设计模式之建造者模式

一、简介二、优缺点三、应用场景四、模式结构五、代码实现六、建造者模式和工厂模式的区别一、简介建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。二、优缺点优点:封装性好,构建和表示分离。扩展性好,各个具体的建造者相互独立,有利于系统的解耦。客户端不必知道产品内部组.

2020-11-22 19:43:52 69 1

Junit + Hamcrest + Mockito 单元测试 Jar包

包含 Junit + Hamcrest + Mockito 单元测试涉及到的三个jar包,分别是junit.jar、hamcrest-2.2.jar、mockito-core-3.2.4.jar

2020-02-18

空空如也

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

TA关注的人

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