- 博客(44)
- 收藏
- 关注
原创 异步编程——@Async与@EnableAsync使用
异步方法所在类实现了接口且使用了异步注解@Async,代码底层会走 JDK 动态代理,导致 OrderServiceImpl 控制类没有注入到 SpringMVC 容器中。DemoServiceImpl做为代理类实现 DemoService接口,代理类(DemoServiceImpl)发现 DemoService接口上面没有 RestController 注解,所以导致了代理类(DemoServiceImpl)不会注入到SpringMVC容器中。解决方法二:从spring上下文中取得代理对象。
2024-01-16 16:17:26 1051
原创 Redis反序列化异常处理方法
李舒 11-15 15:34:17https://doc.weixin.qq.com/doc/w3_AdIAVwZ3AOQeoz3u2y4S5K7srUkQG?scode=ACcA5wcgAAwa1N3rwyAdIAVwZ3AOQ李舒 11-15 15:34:44Could not read JSON: Could not resolve type id 'com.dps.bo.user.UserBo' as a subtype of `java.lang
2023-12-19 17:37:33 1119
原创 常见系统认证实现流程
注意,从文档中第二步才是后端该做的(AppID和AppSecret也得后端操心去催)也就是获取access_token调用的地址和微信一键登录的不一致。也是现成套路就不多赘述了,PC端页面生成二维码。
2023-12-14 11:23:23 221
原创 选择排序的双选优化
文章目录先整清楚选择排序什么是选择排序?手写一个选择排序选择排序和冒泡排序有什么区别?算法优化最大值和最小值每轮比较只能得其一吗?先整清楚选择排序什么是选择排序?矮子里面挑将军——双重循环遍历数组,每经过一轮比较,找到最小元素的下标,将其交换至首位,下次排序时它就不参与排序了,而是从剩余的数据中挑选最值。手写一个选择排序目标数组:{1, 0, 3, 8, 7, 2, 0, 5, 4, 6}目标结果:顺序升序排序public static void selectionSort() { int
2022-04-01 21:54:08 915
原创 冒泡排序的异或优化
文章目录你会写冒泡排序吗有没有想过不要temp?如何用异或运算交换变量值引申问题你会写冒泡排序吗给你一个数组,让你排序,怎么办?(别跟我扯sort函数)方法很多,但是看标题,今天就用冒泡!你可能会这样写?public int[] poLuPoLuSort(int[] arr){ int temp; for (int i = 0; i < arr.length; i++){ for (int j = 0; j < arr.length; j++){
2022-03-30 15:47:31 2557 2
原创 docker挂载
文章目录方案一:数据卷挂载创建并挂载数据卷方案二:目录挂载(推荐)目录挂载方案一:数据卷挂载数据卷基本操作命令docker volume craetedocker volume ls 列出所有volumedocker volume inspect 显示一个或多个volume的信息docker volume rmdocker volume prune 删除未使用的volume创建并挂载数据卷以挂载nginx配置文件为例:新建一个数据卷docker volume create ngin
2022-03-28 01:13:07 269
原创 支付宝扫码支付实现
前言:在一次项目开发中我的业务模块涉及微信扫码支付和支付宝扫码支付。在查阅现有技术性文章后发现,许多文章并不能走通,于是我便阅读了官方文档,形成了这篇总结性文章,希望对读者有所帮助。...
2022-02-12 17:56:56 6241
原创 微信扫码支付实现
前言:在一次项目开发中我的业务模块涉及微信扫码支付和支付宝扫码支付。在查阅现有文档后发现,大部分文章还停留在V2支付,部分文章介绍了V3支付但是并不能走通,于是我便阅读了官方文档,形成了这篇总结性文章,希望对读者有所帮助。官方开发文档官方SDK开发工具包API字典文章目录微信平台信息配置获取商户号获取证书序列号获取API私钥获取APIv3密钥获取APPID开通支付产品代码中的配置引入依赖配置微信工具类支付请求回调接口微信平台信息配置相信查询此刻你一定已经注册登陆过微信开放平台了,在此不多赘述。需
2022-02-10 21:54:06 5467
原创 java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
文章目录问题描述:问题分析:jdk与Tomcat解决问题:方案一:方案二:补充问题描述:最近对JavaWeb进行了简单复习,在对照以往笔记写好了一个Servlet服务时发现无法启动该项目服务。针对java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet这个问题,百度结果有让导jar包的、有让提升IDEA版本的、有让重装Tomcat的,也有让修改项目中web.xml的,有些方法一看就不靠谱,于是我便尝试修改项目中web.xml版本,发现依
2021-11-29 14:49:53 8381 6
原创 startup.bat启动Tomcat闪退问题原因及解决
文章目录出现问题:分析问题闪退原因:原因一:java环境变量出问题了原因二:端口占用原因三:你的Tomcat不干净了出现问题:安装了Tomcat之后,开始用着还好好的。莫名其妙的就很突然出现了一些玄学问题,某一次开始我双击了startup.bat启动Tomcat时我的黑窗口就很不给面子的运行着运行着就闪退了,隐约间能看到个异常,可刚看清楚一个caused by...黑窗口就已经关闭了。经历了重启电脑等常规解决问题的思路后依旧无法解决。分析问题既然问题出现在这个启动后闪退,那就去看一眼启动时都做了什么
2021-11-12 16:18:43 9657 5
原创 java集合
集合如何保存多个数据?数组:长度必须指定,一旦指定不能更改。保存的必须为同一类型的元素。(泛型?)使用数组进行增加/删除元素的示意代码——比较麻烦。集合:可以动态保存任意多个对象,使用比较方便。提供了一些列方便的操作对象的方法:add、remove、set、get等。使用集合添加删除元素的示意代码——简洁。单列集合:双列集合:什么是集合概念对象的容器,实现了对对象常用的操作和数组的区别数组长度固定,集合长度不固定数组可以存储基本类型和引用类型,集合只能存储引
2021-10-31 17:38:03 174
原创 观察者模式
文章目录进制转换R进制转十进制十进制转R进制特殊的R进制转R'进制例如:例如:原码 反码 补码 移码原码:反码:补码:移码:一般用于浮点运算的阶码数值表示范围浮点数运算浮点数表示:浮点数的运算:CPU运算主机+外设运算器构成控制器构成计算机体系结构分类——Flynn对计算机分类依据两个指标:指令流、数据流CISC与RISC流水线——概念概念:指令:流水线——计算流水线执行时间计算公式为:流水线吞吐率计算概念:流水线最大吞吐率:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m9
2021-10-11 08:56:51 118
原创 git教程(实战开发版)
读前必看:当你搜到这篇文章时相信你的git是已经安装并配置好邮箱账户的(下载安装,无脑下一步,安装完后任意文件夹右键都会有git窗口选项)。本文将从连接远程git仓库开始,到项目开发过程逐一教给你git常用命令操作,你可根据目录阅读自己需要的内容。文章目录git连接GitHub等托管平台注册gitee账号添加ssh公钥生成ssh公钥并添加公钥进入开发场景一:你是项目组开发成员克隆中央仓库新建开发分支(暂时忽略这一步)拉取代码到本地日常开发操作场景二:你是项目组组长或个人项目忽略上传文件场景三:你只是想上传
2021-08-09 20:11:53 764
原创 还有14天
JavaSE补充学习异常异常处理机制可以增加程序的容错性,使代码更加健壮。而且可以做到业务代码和错误代码分离,增强可读性。注意:异常处理机制的初衷是将不可预期异常的处理代码和正常的业务逻辑处理代码分离,因此绝不能使用异常处理来替换正常的业务逻辑判断。内容总结博客:线程反射枚举容器泛型与ObjectLambdaIO与Stream...
2021-07-23 09:40:03 143
原创 食堂管理项目总结
文章目录工具应用:swagger控制台抓取tokengitxiaopiuYApi项目知识:领域模型返回前端数据序列化uid曾经忽略掉的命名规范接口规范安全认证mapper映射参数验证返回数据规范分页查询能力提升:快速学习联调中团体合作意识项目流程的把握工具应用:swaggerswagger很久之前就在本地的Spring boot练习中整合过了,从整合配置到接口测试都很熟练。但这次上来就无法访问接口,原因就是没有写入token令牌(之前学swagger时知道有授权这一说,但是这还是第一次用)。控制台抓
2021-05-05 11:51:56 223
原创 解读VO、DTO、BO、PO、DO、DTO
VO:值对象用来做数据展示的,重点体现在人们直观看到的数据,比如web页面中的数据,最主要的存在形式就是json了。DTO:数据传输对象该传输通常指前后端之间的传输。在后端它的存在形式是Java对象,在前端它的存在形式是json。PO:持久对象PO是数据库中的记录,表中一条记录就是一个PO对象。通常PO里面除了get、set方法外没有别的方法了。BO:业务对象BO就是PO的组合。许多个PO组成一个BO假如PO是一条购物记录,那么BO就是全部的交易记录集合对象。或者说PO_1.
2021-02-17 23:01:19 1052 2
原创 SpringBoot框架pom.xml中标签解读
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav
2021-02-16 20:31:49 564
原创 Mybatis基本CRUD操作(Mapper配置文件)
认识Mybatis什么是MyBatis?持久层框架,避免了所有JDBC的代码和手动设置参数以及获取结果集,可使用xml或注解。持久化:数据持久化持久化就是将程序的数据在持久状态和瞬时状态转化的过程。内存断电即失持久化方式数据库、io文件持久化为什么要持久化?有一些对象,不能让它丢掉内存太贵了持久层:Dao层,Service层,Controller层完成持久化工作的代码层界限十分明显Mybatis的优势小巧易学。使用灵活,sql语句写在xml
2021-01-23 11:42:31 317
原创 Spring之实现IOC的注解开发
文章目录xml开发配置格式注解开发配置格式注解使用@Autowired(重点掌握)@Autowired补充@Resources@Autowired和@Resources的区别:注解开发注解替换bean配置xml与注解的对比彻底不使用xml配置xml开发配置格式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="ht
2021-01-22 11:24:53 149
原创 Spring基本实现IOC(xml)
文章目录传统的业务处理DAO层接口接口实现类Service层接口接口实现类Controller层访问Service层回顾MVC传统过程中暴露出来的问题当客户需求发生改变时解决思路Ioc的业务处理简单描述IOC传统的业务处理DAO层接口public interface UserDao { void getUser();}接口实现类public class UserDaoImpl implements UserDao { public void getUser() { System.ou
2021-01-20 13:48:26 161
原创 快速了解Spring
什么是Spring开源的设计层面框架。为解决企业应用开发的复杂性而生。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。解决业务逻辑层和其他各层的松(解)耦合问题。整个系统应用思想都是面向接口编程。全面的模块化的;有分层的体系结构。可选择性的拼接使用各个层。可以使javaEE更加易用,并通过接口(而不是类)促进好的编程习惯。减少编程代价几乎为零;Spring构建的应用程序易于测试。可应用于任何Java应用综上,Spring可以将许多模块和简单的组件配置,拼
2021-01-19 15:53:30 207
原创 快速画出E-R图
文章目录什么是E-R图?什么是实体?什么是属性?实体型、属性、联系实体间的联系两个实体之间的联系两个以上实体之间的联系单个实体型内的联系着手E-R图ISA联系基数约束Part-of联系注意事项什么是E-R图?描述概念模型的有力工具。它提供了表示实体型、属性和联系的方法。什么是实体?什么是属性?实体型、属性、联系一个实体可以有多个属性实体内部的联系,通常是指组成实体的各属性之间的联系实体之间的联系,通常是指不同实体型的实体集之间的联系多个实体间可以有不同的联系实体间的联系把参
2021-01-19 09:36:05 3168
原创 java线程学习
前言:本篇着重于实战应用,对于其原理并没有过多阐述,其目的是为了达到前期学习的快速开发。写出第一个线程并开启它方式一:想要创建一个线程,首先得继承一个Thread类。重写run()方法,具体的线程要执行的内容需要写在run()方法里。new线程对象(可以new多个),开启线程(也可同时开启多个)public class ThreadTest extends Thread { private String name; public ThreadTest(String name) {
2021-01-18 19:43:25 136 1
原创 java容器(集合)
前言:博主目前还没系统学习数据结构,因此本篇着重于集合的基本使用,并不会追根溯源。学习对象为Map、List接口和ArrayList、HashMap类。学习目的以使用为主,不会赘述过多原理。什么是容器?Java中的容器主要有Collection和Map,它们都是顶层接口,都位于java.util包下,实际使用的容器都是基于这两个接口延伸出来的。Map接口:Map是从键到值的映射, 键不允许重复,每个键最多能映射一个值,值可以重复键值映射就相当于一个人,有名字,有性别,有年龄,他的名字、性
2021-01-18 15:34:38 110
原创 Java异常处理
语法是try…catch…finallytry { //可能发生异常的代码块 System.out.println(c[3]); System.out.println(a/b);}catch(ArrayIndexOutOfBoundsException e2) {//可以捕获的异常1 //处理异常1的代码 System.out.println("数组越界");}catch(ArithmeticException e1) { System.out.println("0不能做除数");}fi
2021-01-18 08:51:51 133
原创 java8新特性——Lambda表达式
什么是Lambda表达式?Lambda表达式,也可称为闭包,java8的重要新特性之一。Lambda表达式允许在方法的参数列表中将方法作为参数。Lambda表达式长什么样?Lambda表达式有什么用?Lambda表达式可以使代码变得更加简单紧凑。在集合遍历和其他集合操作中可以极大的优化代码结构。Lambda表达式取代了过去的哪些东西?为什么要改用Lambda表达式?Lambda表达式怎么用?...
2021-01-10 11:22:13 163 1
原创 (Java)枚举(Enum)的使用场景
枚举(enum)//javap -p ***.class//jad工具前言:初次学习,本人更注重实效性。许多文章都对枚举类进行了很详细的介绍,比如它是jdk1.5后引入的新特性、继承了 java.lang.Enum类等,在此就不多阐述。本文重点解释枚举类的字段,以及一些枚举类的使用场景。枚举类的理解:所谓枚举类,即类的对象只有有限个,确定的。我们称此类为枚举类。当需要定义一组常量时,强烈建议使用枚举类。如果枚举类中只有一个对象,则可以作为单列模式的实现方式。看完后是不是很懵逼?不慌,这些是
2020-12-19 10:34:43 954
原创 SpringBoot集成使用swagger
什么是swagger?简单地说,就是用来生成接口文档、测试接口的。其目的是用来协助前后端的集成联调,争取及时协商,尽早更改。在开发新版本或者迭代版本的时候,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。Java届服务端的大一统框架Spring,迅速将Swagger规范纳入自身的标准,建立了Spring-swagger项目,后面改成了现在的Springfox。通过在项目中引入Springfox,可以扫描相关的代码,生成该描述文件
2020-12-08 14:53:39 186
原创 SpringBoot集成使用Hutool
什么是Hutool?Hutool是一个小而全的java工具类库,是util包有好的代替。在pom文件中引入Hutool依赖<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId>
2020-12-07 17:59:16 4568
原创 SpringBoot集成使用lombok
什么是lombok?lombok是一个java库,它会自动插入编辑器和构建工具中。它提供了一组有用的注解,消除了java类中大量的样板代码,使得代码干净整洁。如何去使用lombok?可以在lombok 的 maven仓库中找到并引入依赖<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId&
2020-12-07 17:00:19 231
原创 SpringBoot+Vue前后端分离及交互
什么是前后端分离?将一个应用的前后端代码分开写为什么要前后端分离?在传统的Javaweb开发中,往往是前端人员写好html后,再由后端人员将java整合其中,变成JSP。 如此一来就造成了沟通不便、降低效率、前后端耦合度高等问题。前后端分离是如何解决此问题的呢?前端写客户端代码,后端写服务端代码并提供接口前端通过ajax请求访问接口,将model展示到view中如此前后端只需要约定接口文档(URL、参数、数据类型),之后便分别独立开发。前端可以通过json造假数据进行测试,后端用postman
2020-12-07 15:45:10 11233 4
原创 Chrome浏览器的基本使用
https://www.jianshu.com/writer#/notebooks/38600755/notes/73745406
2020-07-15 14:30:45 177
原创 java中 extends 和 implements 的区别及 抽象类、方法 的简单说明
extends和implements用法:在一个类去继承另一个类时,用extends;在一个接口继承另一个接口时,用extends;在一个类继承一个接口时,用implements;在一个类同时继承另一个类和实现一个接口时,先用extends再用implements。java 接口 和 抽象类 的区别抽象类可以提供某些方法的部分实现,但是接口必须全部重写方法。例如:向一个抽象类里加入一个新的具体方法时,那么它所有的子类都同时得到了这个新的方法。如果向一个接口里加入一个新的方法,所有实现
2020-06-18 21:30:08 566
原创 JDBC连接、断开数据库的封装
实现类的代码如下public class LinkClose {//创建连接关闭类 private static final String DRIVER="com.mysql.cj.jdbc.Driver"; private static final String URL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT";
2020-05-30 18:22:11 366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人