自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

散场前的温柔的博客

用户名 : 散场前的温柔

  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 自己的后端的学习路线

学习路线0. 准备阶段 1. 配置Windows10环境  1. 安装开发软件 2. 配置Linux环境  1. 安装JDK  2. 安装MySQL数据库 3. 配置版本控制工具  1. 配置使用Git  2. 配置使用svn  3. 配置使用Jenkins1. Java部分 1. Java基础  1. JDBC  2. Mybatis  3. JSON解析  ...

2019-09-17 15:48:41 3217

原创 Spring Boot 项目实现 Spring AOP

【注】实现在SpringBoot项目中,同时给两个类的方法添加AOP前置通知。

2023-08-13 20:50:14 1785

原创 【发邮件】SpringBoot 通过 hutool 方式发送邮件

【发邮件】SpringBoot 通过 hutool 方式发送邮件本文项目效果:发送html格式的验证码,并把验证码缓存到redis中,使用swagger2验证1. 创建邮件配置application.yml这里配置的是阿里企业邮的邮箱,所以STMP服务器配置的是阿里云的,这里根据自己需求填写如果是腾讯个人QQ邮箱,密码不是登录密码,而是发短信之后生成的秘钥。#邮箱验证码有效时间/秒code: expiration: 300# 电子邮件配置email: host: smtp.q

2021-08-28 22:38:47 4603

原创 模式 01 单例模式 Singleton

设计模式 单例模式 Singleton简介单例:保证在内存当中只有一个实例存在在代码实现级别保证只能有一个实例存在使用场景各种Manager各种Factory实现要求线程安全最好懒加载(延迟加载)执行效率高序列化与反序列化安全实现有8种写法,这里融合了一下,将基础的和最推荐的写了出来。其中饿汉式中包含了两种:静态变量和静态代码块方式一:饿汉式 (推荐使用)饿汉式,如其名。在类加载的时候就创建了单例,并不等到第一次调用的时候,就仿佛饿汉一样迫不及待地想赶紧先得到

2021-03-17 20:55:15 1312

原创 网络编程

网络编程学些的教程地址:狂神说Java 网络编程一、概述1. 计算机网络计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。——百度百科2. 网络编程目的无线电台等广播,传播信息网络通信、数据交换3. 想要达到的效果需要什么定位网络上的一台主机:IP,如:127.0.0.1。定位主机上的某个资源:端口:8080如何传输数据:javaw

2021-03-09 17:46:14 1321

原创 IO流学习笔记

IO流学习笔记学习教程:IO流精讲视频教程一、IO流的四大抽象类InputStream / OutputStream 是字节的输入输出流的抽象类。数据单位:字节,8bit:0-255Reader / Writer 是字符的输入输出流的抽象类。数据单位:字符1. InputStream 子类int read():读取一个字节的数据,并将字节的值int类型返回(0-255,8bit),如果未读出字节则返回-1void close():关闭字节输入流对象,释放相关系统资源2. OutputStre

2021-03-07 22:15:34 404 6

原创 你对ORM框架了解多少?

ORM框架 (对象关系映射)【解释:本文默认编程语言是Java】1. 什么是“持久化”?答:  把内存中的数据保存到可永久保存的存储设备中,比如:硬盘。因为内存掉电数据丢失,而硬盘等存储介质掉电数据不丢失。  程序里,持久化的主要应用是将内存中的数据存储到数据库或者文件中。2. 什么是“持久层”答:  系统中专注于实现将内存数据持久化的逻辑层面,将数据使用者和数据实体相关联。也就是架构中最常见的dao层或者叫mapper层。这里的架构指的是三层架构1. 什么是ORM框架?答:  OR

2021-01-14 16:40:06 379

原创 SpringBoot 编写一个SpringBoot应用实现HelloWorld

编写一个SpringBoot应用实现HelloWorld1、IDEA创建一个空的maven工程(jar)IDE工具:IDEAJDK版本:1.8创建新的项目:New Project …选择Maven > 勾选Create from archetype > 选择maven-archetype-quickstart > Next填写企业或团队的唯一标识:GroupId 和 项目唯一标识符:ArtifactId > Next > 填写项目名和项目地址 > Fin

2020-12-30 21:36:13 290

原创 Java 匿名类(匿名内部类)

Java匿名类(匿名内部类)学习的参考博文:无恨之都1. 初识 匿名类标准说法: 内部类包括:成员类、局部类、匿名类(匿名内部类)。匿名类概念:匿名类可以使你的代码更加简洁 (JDK8之后Lambda更简洁)。你可以定义一个类的同时对其实例化。它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要使用一次,就可以使用匿名类。匿名类是表达式,而非常规的类匿名类的使用场景:  一个局部类只需要使用一次的时候2. 通过示例分析局部类和匿名类区别public class Hell

2020-12-25 23:41:48 24091 9

原创 设计模式原则 — 接口统一原则

设计模式原则  —— 接口统一原则 1. 基本介绍  客户端(即:使用类)不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上 2. 实例应用 1. 当依赖的接口中方法过多情况  1. 实例目标:    类A通过接口Interface1使用类B的operation1,operation2,operation3方法;    类C通过接口Interface1使用类D的operation1,operation4,operation5方法;  2. 类图:  3. 代码:

2020-05-19 14:18:18 600

原创 设计模式原则 — 单一职责原则

设计模式原则  —— 单一职责原则1. 基本介绍  对类来说的, 即一个类应该只负责一项职责。  假如类A负责多项职责,当其中一项职责需求发生变更时,可能对其他职责的执行造成影响。  例如:类A负责实现 “订单数据持久化”职责 和 “用户数据持久化”职责,那么当我们需要修改 “用户数据持久化” 需求时,由于代码糅杂在一个类里,可能会对 “订单数据持久化”的职责造成影响。  所以我们的做法,应当把原来的类A拆分成多个类,分别负责单一项职责,这样就不会发生上述问题了。2. 使用目的和注意事项

2020-05-19 14:10:29 211

原创 设计模式的初接触

设计模式  —— 设计模式的初接触一、 使用设计模式目的提升代码重用性增加代码可读性增加代码可扩展性 (增加新功能和维护功能,非常方便)增加代码可靠性 (当增加新功能时,对原功能没影响)使程序呈现 高内聚、低耦合 的特性二、 设计模式的常用七大原则  设计模式原则,就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础 (即:设计这些设计模式的依据)单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则三、 学习设计模式的好处

2020-05-19 13:50:50 155

原创 00.设计模式系列目录

目录 

2020-05-19 13:40:23 211

原创 19. JDBC连接池 — Druid数据库连接池

JDBC连接池  —— Druid数据库连接池1. Druid简介Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是一个JDBC组件,它包括三个部分:基于Filter-Chain模式的插件体系DruidDataSource 高

2020-05-19 11:35:18 839

原创 18. JDBC连接池 — C3P0数据库连接池

JDBC连接池  —— C3P0数据库连接池1. DBCP简介C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。如果需要使用该连接池实现,应在系统中添加如下一个jar文件:c3p0.jar:连接池的实现(比如:c3p0-0.9.1.2.jar)2. 使用C3P0的步骤加入jar包:c3p0.jar创建C3P0数据源:new ComboPooledDataSource();

2020-05-19 11:31:48 355

原创 17. JDBC连接池 — DBCP数据库连接池

JDBC连接池  —— DBCP数据库连接池1. DBCP简介DBCP是Apache软件基金组织下的开源连接池实现,该连接池依赖该组织下的另一个开源系统:Common-pool。如果需要使用该连接池实现,应在系统中添加如下两个jar文件:Commons-dbcp.jar:连接池的实现Commons-pool.jar:连接池实现的依赖库Tomcat的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可以有应用程序独立使用。2. 使用DBCP的步骤加入jar包依

2020-05-19 11:27:31 239

原创 16. JDBC连接池 — 数据库连接池简介

JDBC连接池  —— 数据库连接池简介(connection pool)1. JDBC直接连接操作数据库的弊端在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、bean)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向

2020-05-19 11:23:55 271 1

原创 15. JDBC进阶 — 批量处理JDBC语句提高处理速度

JDBC进阶  —— 批量处理JDBC语句提高处理速度当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率。JDBC的批量处理语句包括下面两个方法:addBatch(String); 添加需要批量处理的SQL语句或是参数executeBatch(); 执行批量处理语句通常我们会遇到两种批量执行SQL语句的情况:多条SQL语句的批量处理一个SQL语句的批量传参MySQL不太适用这种批量处理,效果

2020-05-19 11:17:32 295

转载 logback的xml配置文件模板(超详细)

转载自:_ZXP的博客logback的xml配置文件模板(超详细)<?xml version="1.0" encoding="UTF-8" ?><!-- 在此未说明属性为非必须的,那就表示属性必须设置 --><!-- *****************最小配置文件结构介绍******************************* --><!-...

2020-04-24 15:57:56 1395

原创 linux安装软件系列 — Redis安装

linux安装软件系列 — Redis安装一、准备我准备在linux 的/usr/local/redis路径下,所以需要新建redis文件夹cd /usr/localmkdir redis二、下载Redis压缩包进入官网:https://redis.io/download找到下载链接XShell进入目录/usr/local/package,执行下载指令cd /usr/loc...

2020-04-15 10:37:38 477

原创 linux安装软件系列 — JDK安装

linux安装软件系列 - JDK安装一、卸载openjdk安装jdk 1.8之前先将openjdk卸载掉。1、卸载已存在的openjdk某些linux系统下默认已安装openjdk,这个版本的jdk我们一般不使用,我们需要把它卸载。再重新安装oracle的JDK。输入以下命令,查看已有的openjdk版本rpm -qa|grep jdk如果输出了几行带有openjdk字样的结果...

2020-04-14 11:26:04 2849 1

原创 14. JDBC进阶 — 数据库事务的隔离级别

JDBC进阶  —— 数据库事务的隔离级别一、概念说明  对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题:脏读:对于两个事务T1、T2,T1读取了已经被T2更新但还没有被提交的字段之后,若T2回滚,T1读取的内容就是临时且无效的;不可重复读:对于两个事务T1、T2,T1读取了一个字段,然后T2更新了该字段之后,T1再次读取同...

2020-03-25 18:10:54 232

原创 13. JDBC进阶 — 数据库事务

JDBC进阶  —— 数据库事务一、事务的概念和操作  在数据库中,所谓事务是指一组逻辑操作单元,是数据从一种状态变换到另一种状态。  为确保数据库中数据的一致性,数据的操作应当是离散的成组的逻辑单元;当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。也就是,这一组操作要么全部成功,要么全部不成功。...

2020-03-25 15:58:17 139

原创 12. JDBC进阶 — 处理Blob(存文件)

JDBC进阶  —— 处理Blob(存文件)我们主要讲解MySQL BLOB一、Oracle LOB  LOB,即Large Objects(大对象),是用于存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的数据)  LOB分两种类型:内部LOB和外部LOB内部LOB将数据以字节流的形式存储在数据库的内部。因而,内部LOB的许多操作都可以参与事务,也可以像处...

2020-03-25 15:54:37 588

原创 11. JDBC进阶 — 获得插入数据的主键值

JDBC进阶  —— 获得插入数据的主键值获取数据库自动生成的主键值在第6章的JDBCUtils的update()方法基础上进行的改进下面介绍一下Connection类的.prepareStatement(sql)方法的重载方法prepareStatement(String sql, int autoGeneratedKeys)。参数1:还是原来的sql不变参数2:是是否返回主键值的标...

2020-03-25 15:49:42 293

原创 10. JDBC进阶 — JDBC元数据

JDBC进阶  —— JDBC元数据    —— DatabaseMetaData类和ResultSetMataData类一、我们能获得哪些JDBC元数据?  Java通过JDBC获得连接以后,得到一个Connection对象,可以从这个对象里获得有关数据库关系系统的各种信息,包括数据库中的各种表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个实...

2020-03-25 15:46:55 159

原创 09. JDBC基础 — DAO设计模式

JDBC基础  —— DAO设计模式什么是DAO设计模式?  上面几章下来,其实我们已经差不多完成了DAO的基础了,我们在第6章和第8章已经实现了使用面向对象的思想通过JDBC对数据库进行了更新操作(INSERT、UPDATE、DELETE)和查询操作(SELECT);  其中我们在第8章中JDBCUtils类的select()方法返回的是List集合,而我们平时有可能只需要查询返回一个对...

2020-03-25 15:44:06 174

原创 08. JDBC基础 — 利用反射及JDBC元数据编写通用的查询方法

JDBC基础  —— 利用反射及JDBC元数据编写通用的查询方法为什么要用反射?上一章,我们使用PreparedStatement执行查询数据库操作,但是却存在缺陷,我们这一期就解决这些问题那么有哪些问题呢?JDBCUtils的select()方法缺乏普适性,不再是通用的查询方法如果将结果集ResultSet的放到调用层解析那么就存在耦合的现象,我们需要解耦如果不解析,那么我们可能...

2020-03-25 15:40:14 381

原创 07. JDBC基础 — 通过PreparedStatement执行查询操作

JDBC基础  —— 通过PreparedStatement执行查询操作本章目的和提示使用PreparedStatement实现占位符查询本文基于第五章的代码基础上结合第六章进行更新本章以下内容保持和第五章相同:数据库结构和数据项目结构User类pom.xmldatabase.propertiesPropertiesUtils类本章更新的内容:JDBCUtils类...

2020-03-25 11:31:21 777

原创 06. JDBC基础 — 通过PreparedStatement执行更新操作

JDBC基础  —— 通过PreparedStatement执行更新操作为什么要使用PreparedStatement?  使用Statement需要拼写SQL语句,很辛苦,而且容易出错Statement:上一章里使用Statement方式的SQL:String sql = "INSERT INTO user (name, password, age, remark) VALUES (...

2020-03-25 11:27:38 1785

原创 05. JDBC基础 — 以面向对象的思想编写JDBC程序

JDBC基础  —— 以面向对象的思想编写JDBC程序  其实本章也没什么技术性的知识点,只是使用面向对象的方式去举例添加一条数据  前面的几章都是我们写好的SQL语句直接执行的,但是现实中我们不可能指望用户去编写SQL,我们可能需要从控制台或者前端获取一个对象,一个实体类对象,我们需要程序能直接添加实体类,而不是我们去手写SQL  所以我们需要写一个灵活的SQL,可以根据传输进来的对象实...

2020-03-25 11:25:05 282

原创 04. JDBC基础 — 通过ResultSet执行查询操作

JDBC基础  —— 通过ResultSet执行查询操作ResultSet结果集,封装了使用JDBC查询的结果通过调用Statement对象的executeQuery(sql)方法创建该对象ResultSet对象以逻辑表的形式封装了执行数据库操作的结果集,ResultSet接口的实现有数据库厂商提供ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,...

2020-03-25 11:14:56 407

原创 02. JDBC基础 — 使用DriverManager优化jdbc连接不同数据库的需求

JDBC基础  —— 使用DriverManager优化jdbc连接不同数据库的需求优化上一个程序,不直接使用Driver,而使用SQL给我们提供的DriverManager类DriverManager是数据库驱动的管理类好处:可以通过DriverManager中重载的getConnection()方法直接获取数据库连接,比较方便可以同时管理多个不同的驱动程序,即同时管理不同类型的数...

2020-03-25 11:12:46 313

原创 03. JDBC基础 — 通过Statement执行更新操作

JDBC基础  —— 通过Statement执行更新操作Statement用于执行 SQL 语句的对象通过 Connection 的 createStatement() 方法获取通过 executeUpdate(sql) 执行 SQL 语句传入的 SQL 可以是 INSERT,UPDATE 和 DELETE,但是不能是 SELECT执行了SQL之后会返回一个int类型的数值,这个值...

2020-03-25 11:11:42 506

原创 00. JDBC系列目录

目录 01. JDBC基础 — 读取配置文件连接多种数据库的JDBC通用连接程序 02. JDBC基础 — 使用DriverManager优化jdbc连接不同数据库的需求

2020-03-25 11:03:55 354

原创 01. JDBC基础 — 读取配置文件连接多种数据库的JDBC通用连接程序

JDBC基础  —— 读取配置文件连接多种数据库的JDBC通用连接程序持久化就是将数据从"掉电丢失"的内存保存到"掉电不丢失"的数据库的过程数据库存取技术分为:JDBC直接访问数据库JDO技术第三方O/R工具,如:Hibernate,mybatisJDBC是其他技术的实现基石JDBC是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API)JDBC只...

2020-03-25 11:01:02 533

原创 虚拟机内配置Linux环境

虚拟机内配置Linux环境目录 1. 新建虚拟机 2. 配置网络环境 3. 配置JDK 4. 安装MySQL数据库  本文基于VMware Workstation 15 Pro 虚拟机软件,笔记本配置:i7 9750H处理器,8G内存 1. 新建虚拟机  我们在企业里绝大多数的程序都是在Linux服务器里运行的,所以我们平时也要对Linux系统有所了解。但是前期我们如果直接租赁...

2020-03-03 00:32:02 570

原创 读取properties方法

读取properties方法配置文件的位置:在resources下的jdbc文件夹里读取数据的源代码是test里的类需要读取的内容:上代码: @Test public void testDriver() throws IOException { String driverClass = null; String jdbcUrl = null; ...

2020-02-29 21:10:26 211

原创 java 获取内外网IP demo

java 获取内外网IP demoimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.InetAddress;import java.net.Malformed...

2020-02-17 20:52:17 207

原创 ajax 返回map获取不到 抛出HttpMessageNotWritableException

ajax 返回map 获取不到  Controller返回String数据,ajax可以正常接收,但是返回对象时(我是map类型),就一直是error。  如果浏览器打开F12查看网络访问,ajax执行时,Controller的类执行正常,但是返回的map类型数据,ajax获取不到,并抛出异常:HttpMessageNotWritableException。ajax代码:jQuery.aj...

2019-12-05 16:05:03 272

Java 的 IO流笔记.md

Java IO流的笔记,写了常用的类和方法的示例,以及部分Apache的commons-io的IO类,如果没有积分,可以到我的博客里查看下载

2021-03-08

空空如也

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

TA关注的人

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