- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 SpringBoot自定义线程池(9)
前言 实际项目中必不可少的会使用到异步处理,典型的比如注册后的短信通知或者邮件进行账户激活等。Java可以用4种方式来创建线程,继承Thread类、实现Runnable接口、使用Callable和Future、使用线程池例如用Executor。有时候项目中可能有多个不同的业务类型都需要使用到异步线程,这时候我们可以根据不同的业务创建不同的线程池,让单一线程池专一做一件事情,分工明确,方便管理,本文就是介绍这种自定义线程池的创建方式。线程池配置文件为了配置文件清爽,单...
2021-10-16 13:30:21
1542
原创 一文精通SpringBoot动态自动装配原理(8)
前言在SpringBoot面世之前,我们在传统的SSM、SSH垂直框架中其实也经常使用注解开发,如Spring、SPringMVC、Mybatis的框架都支持注解,实际开发中比如Bean也能实现无配置化注入,但是这种注入一般是经过“人工干预”的,换句话说这种注入还是我们手动进行装配的,那时候还没有达到SpringBoot这种自动装配的效果。也正是因为Spring配置繁琐、依赖繁琐的缘故,为了更方便快捷的使用Spring,实现快速敏捷开发,Spring在2014.4推出了SpringBoo...
2021-09-15 20:33:24
3072
原创 SpringBoot内置服务器切换(7)
前言 SpringBoot(本文版本2.5.4)中内置了4款web服务器,Tomcat、Jetty、Netty、Undertow,默认使用Tomcat,如果不想使用默认的Tomcat,则可以进行切换。1、内置服务器切换方法1、排除Tomcat起步依赖Tomcat起步依赖是集成在spring-boot-starter-web中的,在其内部进行排除即可,如果开发工具是Idea,打开pom.xml,快捷键Ctrl+Alt+Shift+U查看依赖关系图,找到spring-boot-st...
2021-09-08 13:29:46
7689
原创 SpringBoot整合Mybatis(6)
1、起步依赖文档SpringBoot版本为2.5.4<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version></dependency>2、数据库表脚本...
2021-09-06 22:36:17
3853
4
原创 SpringBoot整合Redis详解(5)
1、添加起步依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>1.配置连接池spring: redis: host: 127.0.0.1 port: 6379 password: #默认
2021-09-04 13:05:58
4178
原创 SpringBoot整合Junit测试(4)
1、导入测试依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>2.测试案例需求:项目中有一个Uservice类,内部有一个add()方法,
2021-09-03 14:02:16
4545
原创 SpringBoot配置文件位置及加载顺序(3)
前言 在官网中提供了近20种详细的配置文件方式和各自加载顺序,但是大多数配置方式我们在实际项目中基本不会使用到,一下介绍实际项目中经常使用的方式。1、内部配置加载顺序 Springboot程序启动时,会从以下位置加载内部配置文件: 1. file:./config/: 当前项目下的/config目录下 2. file:./: 当前项目的根目录 3. classpat...
2021-09-03 10:32:08
4381
原创 SpringBoot配置文件、多配置、激活(2)
1、配置文件分类SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认约定的话,就可以使用 application.properties或者application.yml(application.yaml)进行配置,配置文件路径为src/main/resources下,application是配置文件默认名称。2、配置文件语法格式application.properties(无需讲解,传统常用的)service.port=8080app...
2021-09-01 23:47:03
6392
原创 SpringBoot简单介绍(1)
1、什么是SpringBootSpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期(https://spring.io)。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,整合了市面上主流的大多数框架,可以看做是一个脚手架角色。2、SpringBoot出现的背景Spring缺点...
2021-09-01 17:12:50
4504
原创 【面向对象-09】子类、父类方法重写和覆盖
目录1).成员变量的重写2).成员函数的重写3).子类方法中对父类和子类同名成员的访问4). 如何理解覆盖1).成员变量的重写变量仅仅是一个标识符来命名,子类和父类出现同名成员变量的时候,就是子类对父类成员变量的重写。2).成员函数的重写相比变量,一个函数并不仅仅是由函数名来标识的,而是访问修饰符、函数名、参数列表、返回值类型、异常声明共同标识的。子类中某一个函数的上述标识和父类某一个函数一致,则是成员函数的重写。3).子类方法中对父类...
2021-07-11 16:08:13
5728
2
原创 【面向对象-08】final关键字、抽象类、接口
目录1. final关键字1). final修饰范围2). final修饰成员变量1.抽象类(abstract class)1). 抽象方法和抽象类产生的背景2). 抽象类的特点3). 特殊的抽象类 (没有抽象方法)4). 多个类的功能向上抽取之后,如何确定方法是否该是抽象的3.接口(interface)1). 接口中成员格式的特点2). 接口和实现类中的方法3). 多个接口和一个类的关系4). 接口的语义5). 设计时:抽象类和接口中功能定义6)
2021-07-10 22:37:03
3880
原创 【面向对象-07】继承、重写(重载)、子类对象的实例化过程、super、this关键字指向
目录1.继承1). 继承的优势2). Java中继承的特点3). 继承子类中关键字4). 继承中子类、父类成员(变量/方法)的特点5). 子类重写 (覆盖) 父类中方法(1). 何时重写(2). 重写条件(3). 重写、重载区别2.子类对象的实例化过程1). 子类能否覆盖父类的构造方法2). 隐式super语句和显式super语句3). 使用super语句的注意事项4). 总结super语句3.子类this的真实指向1). 子类对象实例化过
2021-07-10 12:51:45
4153
原创 DES加解密工具类
DES(Data Encryption Standard)算法是常用的分组对称加密算法,实际使用中,信息传递的双方共用一个约定好的密钥进行加密和解密,原理不介绍了,直接上工具类:package com.common.utils.des;import java.security.*;import javax.crypto.*; /*** @ClassName: DES* @Description:DES加解密算法* @author weny.yang* @date Mar 25, 202
2021-05-25 15:21:54
4416
原创 Java生成二维码工具类
需求场景:把网址、产品信息等转换成二维码,通过微信扫码可以直接跳转网址,或者获取码中产品信息,直接上代码,本例是骨架,请按实际需求修改:package com.common.utils.qrcode;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java
2021-05-25 14:38:36
4138
原创 RSA公私钥生成、加解密、签名及验签的原理及工具类
目录一、RSA简介二、加密、签名区别三、公私钥生成四、RSA工具类一、RSA简介 非对称加密算法,由一对密钥(公钥-私钥)来进行加密-解密、签名-验签的过程。公钥-私钥的生成与数学相关,算法的原理是依靠对极大整数做因数分解的困难性来保证安全性。二、加密、签名区别 加密和签名都是为了信息传递途中的安全,原理略有不同,加密是防止信息明文传输被泄露,签名是防止信息被篡改。加密场景:A服务器向B服务器传递一指令。过程如下:(1)B生成一对密钥(公钥-私钥),私钥.
2021-05-25 13:49:42
24506
3
原创 MD5工具类(含16位、32位、加盐、无盐、大小写)
什么是MD5 MD5(Message-Digest Algorithm 5),即消息摘要算法第五版,是一种被广泛使用的密码散列函数。散列算法的基础原理是:将数据(如一段文字)运算演变为另一段固定长度(16/32)的值。是否属于加密算法说法不一: 1.不属于:没有解密算法,密文(散列值)不可逆向得到原文; 2.属于:明文经MD5处理后看不到原文,视为加密状态,类似BASE64算法只能算编码算法。MD5用途1.防止被篡改: 如发送电子文档、接...
2021-05-12 20:49:00
6748
1
原创 Eclipse安装lombok插件及插件使用案例
目录Eclipse集成lombok插件使用案例Eclipse集成lombok1、官方下载2、lombok.jar放到Eclipse安装根目录下,和eclipse.ini同级,如下图所示:3、修改eclipse.ini文件,添加如下内容,如下图所示:-javaagent:lombok.jar-Xbootclasspath/a:lombok.jar4、重启Eclipse插件使用案例1、导包如果是Maven项目,pom文件添加如下依赖:<!--
2020-12-31 19:39:32
5380
2
原创 GIT项目Clone到Eclipse工作空间图文详解
GIT代码下载到Eclipse详解一、Eclipse集成Git有的Eclipse已经自带了GIt(检查是否已安装:Preferences >> Team>> Git)了,就不用安装了,如果没有则需要自己安装,步骤如下:1.点击Eclipse 中 help >> Install new software在弹出的框里面,输入git下载地址:http://download.eclipse.org/egit/updates/点击ok,如果没反应,请..
2020-12-15 18:40:55
5762
原创 Oracle定时任务DBMS_JOB
引言通俗的来讲,开发中定制定时执行的任务有两种方式,代码级别和数据库级别,代码级别的不多阐述,本文主要介绍如何使用Oracle数据库的job来定制一个简单的定时执行任务的步骤。需求每间隔1秒钟删除表 batchs_lock 中锁定时间(字段为lock_time)大于等于一分钟的所有记录(也就是字段 lock_time 的时间值与系统当前时间相差1分钟的所有记录),表结构如下:--------------批次表createtableecm_batchs_lock(applica...
2020-11-20 15:17:14
8258
原创 通用HttpConnectUtil接口工具类
不废话,直接上代码,复制即用,拿走不谢!必要导报:Maven依赖如下:<!-- httpclient --><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.6</version></dependen
2020-11-10 17:27:24
4416
原创 Java实现复杂邮件发送(支持附件、支持多收件人、多抄送人、多密送人)
实际开发中电子邮件的应用非常广泛,比如注册激活邮件,邮件找回密码,自动批量发送活动信息等。本文介绍如何通过 Java 代码来创建支持附件、支持多收件人、多抄送人、多密送人的复杂电子邮件,并连接邮件服务器发送邮件。电子邮件协议常用的电子邮件协议包括 SMTP,POP3,IMAP,其中邮件的创建和发送只需要用到 SMTP协议,所以代码也只涉SMTP协议,SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件传输协议。JavaMailJava 官方也提供了对电子邮件协议封
2020-11-10 16:27:04
7443
4
原创 Eclipse快捷注释模板
模板编辑入口如下图所示:Window >> Preferences >> Java >> Code Style >> Code Templates选择右侧Comments可以对每个分类注释模板进行编辑,为了方便,我导出了一份编辑好的模板,复制后保存为 .xml 文件,直接导入即可使用,不满意的地方自行更改。<?xml version="1.0" encoding="UTF-8" standalone="no"?><temp
2020-06-04 14:29:14
4067
原创 Web系统csrf漏洞攻防
前言csrf 漏洞是配合xss漏洞对web系统进行渗透攻击的,或者是攻击者构造一个恶意的请求,例如 http://www.test.com/help.html 如果目标 web 系统存在 csrf 漏洞,并且系统管理员已经登录,那么攻击者可以诱骗管理员点击 http://www.test.com/help.html这个链接,这时候攻击方相当于盗用了管理员的身份来进行操作,而且管理员丝毫未察觉,这个攻击就已经完成了,风险可想而知。解决方案可以对指向服务器的请求的请求头中的referer进行校验,.
2020-06-03 16:07:04
4039
原创 【面向对象-06】对象初始化过程、对象调用成员过程
目录一、对象初始化过程1、示例代码2、分析3、总结二、对象调用成员的过程1、代码示例2、分析3、总结一、对象初始化过程1、示例代码给出如下代码,请问一共有几条打印语句,分别是什么?public class ObjectInitialization { public static void main(String[] args) { Perso...
2020-05-06 21:59:10
4238
原创 工具类Util中如何注解注入Service不报空
前言实际项目中工具类有时候需要注入Service,但是工具类中的方法都是静态的,如果像Controler中注入Service那样操作,将会报空,无法获取Service的实例,那么如何才能正确注入,下文是解决方案。背景最近接手的项目是某汽车金融的第三方征信系统,后台管理页面的菜单和各种按钮都不是直接写死在页面的,而是配置在数据库中,然后根据登录用户角色权限动态加载的,因此项目中很多地方都...
2020-05-06 20:11:33
5914
1
原创 【面向对象-05】什么是类变量、实例变量、以及区别
一、类变量和实例变量的定义|-成员变量:把类内、方法体外定义的变量称为成员变量。 |-类变量:有static修饰,称为类变量(静态变量); |-随着类的加载而加载; |-优先于对象存在; |-被所有对象所共享; |-可以直接被类名调用;...
2020-05-01 21:02:12
18974
原创 【面向对象-04】方法区是什么、方法区存放什么
一、方法区定义在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中,类型信息是由类加载器在类加载时从类文件中提取出来的,类(静态)变量也存储在方法区中。二、方法区特点1.方法区是线程共享的,多个线程都用到一个类的时候,若这个类还未被加载,应该只有一个线程去加载类,其他线程等待;2.方法区的大小可以是非固定的,jvm可以根据应用需要动态调整,jvm也支持用户和程序指定...
2020-05-01 18:45:47
23066
2
原创 【面向对象-02】类和对象、构造函数、构造代码块、静态代码块
一、面向对象1、概念:面向对象是一种思维方式、编程方式,并不只针对某一种编程语言,基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。2、面向过程 (OPP)和面相对象 (OOP) 的关系和区别面向过程:侧重整个问题的解决步骤,着眼局部或者具体。优点:1.流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果;2....
2020-05-01 12:05:42
4041
原创 冒泡排序和选择排序的原理图解、代码实现、以及两者区别详解
很多小伙伴对冒泡排序和选择排序傻傻分不清楚,今天我把这两个排序放在一起,希望能帮助大家更好的理解它们!一、冒泡排序:1、排序原理从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。2、原理图例如:int [] a = {3,7,6,4,2};第一轮排序:比较了4次,本轮排序结束后数组变成了{3,6,4,2,7},如下图: ...
2020-04-29 13:30:11
6665
原创 【面向对象-03】栈内存、堆内存、垃圾回收机制
1.内存区域分类栈内存、堆内存、方法区、本地方法区、寄存器方法区本身是Java语言编写的方法,而本地方法区是Java调用底层操作系统的方法,两者有本质的区别。1.栈内存1)存放内容:定义在方法中、局部代码块中的局部变量2)管理:所占用的空间直到相对应的代码块、方法执行完就立即自动释放2.堆内存1)存储内容:通过new建立的实体;2)每一个实体都有自己的内存地址值;...
2020-04-28 22:32:11
4481
原创 【面向对象-01】关键字、标示符、常量、数据类型、运算符
一、关键字(1). 定义数据类型byte、short、int、long、float、double、char、boolean、class、interface、void(2). 定义数据类型值true 、false、null(3). 控制流程语句if 、else、switch、case、default、while、do、for、break、continue、return(4...
2020-04-28 22:05:36
4088
原创 Maven本地安装、环境配置、Eclipse集成Maven开发详细图解教程
一、Maven本地安装(for windows)1.下载 windows版Maven 安装文件 >>> 官网下载下载后的文件是一个压缩包,如下图:2.安装及环境变量配置2.1)无需安装,直接解压即用,将下载的文件选择一个路径进行解压,如下图:2.2)环境变量配置(系统变量)新增如下变量,如下图:系统变量: MAVEN_HOME ...
2020-04-27 20:48:26
4040
原创 SVN服务器搭建、客户端安装超详细图解教程
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,本文不再赘述,着重讲解如何安装和使用。一、安装包下载1.下载 TortoiseSVN 服务器安装包 >>官网下载Windows 操作系统文件包一共有5种,如图:个人感觉最好用的是 VisualSVN server 服务端和 TortoiseSVN 客户端搭配使用,点击上图 VisualSVN进...
2020-04-27 17:00:23
7158
原创 Oracle 常用命令整理
一、操作用户1、创建、删除用户首先登录到 system 管理员用户,如下:打开cmd,输入以下代码并回车;sqlplus /nolog再次输入以下代码并回车;connect / as sysdba此时,Oracle登录到 system用户,拥有Oracle服务器管理员权限。1) 创建用户:username、password自行修改create us...
2020-04-27 16:26:55
4021
原创 Oracle(11g)数据库安装详细图解教程
一、下载 Oracle 11g R2安装包(For Windows)官网下载 百度云盘(提取码:u3xw)下载后的安装包文件如下图所示:同时选中两个压缩包进行解压,解压文件会自动合并到名为 database 同一文件夹,如下图:进入database目录,双击 setup.exe 文件进行安装,如下图:首先会弹出黑窗口,不用管它,一会自己就消失了,如下图:...
2020-04-27 15:13:30
61347
46
原创 Eclipse集成SVN报Failed to load JavaHL Library
环境:win10 x64 Eclipse集成svn报错:Failed to load JavaHL Library.These are the errors that were encountered...该报错不影响工具正常使用,但偶尔弹出也是令人很是不爽,解决办法如下:1.windows >> preferences >> Team >&g...
2020-04-27 10:44:35
3978
原创 PLSQL下载、安装、配置、连接详细教程
常用的几个基本sql: select * from table where范围 插入:insert into table(field1,field2) values(value1,value2) 删除:delete from table where范围 更新:update table set field=value where范围 查找:select * from table wh...
2020-04-17 16:30:11
58891
41
原创 详解Eclipse集成Jad反编译工具
1、在eclipse的help—》Install New Software中添加新软件开发,添加源:设置名称:jd-eclipse_update_site设置获取地址:http://jd.benow.ca/jd-eclipse/update然后一顿next,等待下载源并安装;2、安装完成后,eclipse会提示重启,重启后修改一个设置:选window-preferences 在输...
2020-04-17 15:05:36
5766
原创 数据库视图是什么,和表有什么区别和联系
区别:1、视图是已经编译好的sql语句,而表不是。2、视图没有实际的物理记录,而表有。3、表是内容,视图是窗口。4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改。5、表是内模式,试图是外模式。6、视图是查看数据表的一种方法,可以查询数据表中某些字...
2019-01-21 17:42:19
45021
14
pl_sqldev11.0.6.1776.zip
2020-04-17
Jad反编译插件.zip
2020-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人