自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis-Plus关键功能使用

用了好几年的MyBatis-Plus,有些偏僻的功能不经常用,去用的时候老是忘记,还需要重新查阅官网,借这篇文章的机会,记录一下,帮助他人也方便自己今后查阅。

2024-07-24 17:49:44 432 1

原创 SpringBoot 多环境配置文件切换

springboot中的多配置文件切换

2022-09-23 22:44:33 559 2

原创 springboot+mybatis拦截器实现水平分表操作

Override// MetaObject是mybatis里面提供的一个工具类,类似反射的效果// 获取Mapper执行方法// 获取分表注解// 如果method与class都没有TableShard注解或执行方法不存在,执行下一个插件逻辑}//获取值,此值就是拿的注解上value值,注解上value设定的值,并在传入对象中获取,根据业务可以选择适当的值即可,我选取此值的目的是同一台设备的值存入一张表中,有hash冲突的值也存在一张表中。......

2022-08-08 23:02:22 1613 2

原创 记 SpringBoot 使用@RequestBody 接收不到参数

POST请求,前端传的参数名字跟后端规定的参数一样。但是通过@RequestBody注解接收的参数始终为NULL!//实体类中属性没有用驼峰命名/*** 标题*/

2022-08-08 17:22:05 5098

原创 IDEA中GIT使用技巧

1 前言:在Java开发中Git是我们作为程序员来说最最最常用的代码管理工具,在IDE中也很好的集成了Git,通过可视化的方式让我们使用起来更加方便,但是我们在方便我们的同时也带来了很大的安全隐患,稍不注意有可能就会拿去祭天,所以熟练并清楚的知道每个按钮作用是什么对我们来说又变得至关重要,故写此篇文章记录一下。2 图文说明2.1 忽略空格改变,格式改变的比较应用场景:当你的code format方式和同事的不一样时,查看改变的代码时,就会出现(如图①)的情况,设置为【红框】内容,就会忽略这

2021-12-26 20:51:57 528

原创 SQL各关键字执行顺序(MySQL)

1前言 首先给出SQL各关键字的执行顺序,最后再给出说明;2 上干货(8)SELECT(9)DISTINCT <select_list>(1)FROM <left_table>(3)<join_type> JOIN <right_table>(2)ON <join_condition>(4)WHERE <where_condition>(5)GROUP BY <grout_by_list>(6)..

2021-12-02 17:08:16 367

原创 Money 工具类

1 前言:今天在公司的工具包下看到一个工具类,看着不错,先发个博客收藏起来再说,以备不时之需。2上代码import java.io.Serializable;import java.math.BigDecimal;import java.util.Currency;/** * 单币种货币类,处理货币算术、币种和取整。 * * <p> * 货币类中封装了货币金额和币种。目前金额在内部是long类型表示, * 单位是所属币种的最小货币单位(对人民币是分)。 * *

2021-11-28 15:31:25 561

原创 集合的常用形式的简单创建

1 前言在写业务的时候,我们经常碰到对集合的使用,并经常使用其多种状态等等,今天小记一下最顺手的实现方式,以便开发中使用。2 创建空集合在包 java.util.Collections下提供的静态方法;创建空List:List<T> emptyList() 创建空Map:Map<K, V> emptyMap() 创建空Set:Set<T> emptySet()注意:返回的空集合是不可变集合,无法向其中添加或删除元素。3 创建单元素集合

2021-09-16 16:57:17 1283

原创 Spring @Value(“#{}“)和@Value(“${}“)

1前言 以前对spring中@Value没有太注意,看到同事把这个注解用的花里胡哨,我就感觉铁子牛逼666呀,迭代版本结束了,我就对这个注解研究研究,争取也牛逼666。2 #号和$符的不同用法2.1 $符的用法总的来说就是:用于获取配置文件中的属性值;2.1.1简单用法:通常用于获取写在application.properties中的内容,例如在配置文件中:jdbc.driverClass=com.mysqljdbc.url=3306@localjdbc...

2021-09-15 06:44:46 2184

原创 SpringBoot单元测试时实现回滚事务

1 前言:为了避免和减少bug的出现,公司质量检验团队对开发人员提出了写单测的要求,其中代码覆盖率80%以上,******(爆粗口),在写单测的过程中非常想在做 update,delete,insert操作时不把事务提交,造成数据库中的数据应该单测而搞的乱糟糟的。2 方案2.1增加一个@Transactional注解@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes = WebApplication.class).

2021-08-30 14:02:56 901

原创 基于SpringBoot的策略模式多实现类注入(Map注入)

1前言在业务处理的过程中遇见一个场景,设备分A,B,C,他们都是对应的实现都是正删改查,但是不同的设备对应的增删改查业务逻辑有存在差异,这个时候如果不想办法设计代码就会出现A,B,C三个设备都要写一个对应接口(XXXserver),然后分别再去实现他们(XXXserverImpl),如果后来再增加一台设备D,我们又要去重复相关接口和实现,不仅显得代码冗余,更是不好维护和管理,所以利用设计模式---策略模式就解决了这个问题。2基础知识2.1对@Autowired注解的理解在平常使用中我们对@A

2021-07-24 01:36:20 14393 10

原创 IDEA中查看方法的调用链

1前言在工作中作为开发人员常常会遇到技改或者对底层逻辑的改造,如果是自己写的逻辑还会知道对这个方法的逻辑的修改会造成什么样的影响,但是别人写的逻辑就很苦恼,当写这个逻辑同学已经拜拜了,那更是一脸懵逼,所以这个时候知道这个被修改逻辑的方法被哪些方法调用过和这个调用方法的方法又被哪些方法调用过,这个对确定影响范围的时候就显得无比的重要,故对IDEA对方法的调用链使用技巧做一记录总结2 Java方法调用树2.1把光标放在方法名上,IDEA中可以在主菜单中选择Navigate -->Call Hi

2021-07-17 23:46:44 3310

原创 Stream流debugger的使用

1 前言Stream是Java 8 API添加的一个新的抽象,可以让开发者在数据节点上直接处理筛选、排序、聚合等操作,很多情况只需要一行代码就可以简洁的解决问题。但是在使用过程中如果程序运行结果和期望不一样调试起来也是很头疼的事,IntelliJ提供了很好用的组件专门用来调试Stream, 新版本的IntelliJ已经内置了这个插件,老版本的可以在插件仓库中搜索java stream debugger安装。2上干货2.1 代码准备Stream.of("Howareyou?","Java.

2021-07-16 23:39:48 2049 4

原创 本地开发直连

1前言:没有前言2步骤①.修改apollo参数,dubbo.registry.register = false,表示只订阅,不注册。②.在user.home下新建,dubbo−resolve.properties文件com.xxx.xxxService=dubbo://localhost:20880windows下{user.home}下新建,dubbo-resolve.properties文件 com.xxx.xxxService=dubbo://localhost:20880

2021-03-04 14:11:18 241 1

原创 Dubbo服务规范

1前言:在公司使用dubbo框架的一些约定,记录一下,后期其他项目使用直接借鉴,嘿嘿!2项目命名规则2.1 服务消费方:业务名-api,如图2.2 服务生产方:业务名-server ,如图:3 项目架构3.1.业务模型设计分为:Controller层、Service层、Manage层、Cache层、DAO层。3.2.数据模型设计分为:DTO,DO,VO。3.3.各模型功能描述:Controller层:控制层;Service层:单表业务;Manage层:多表业务;Cache层:缓存

2021-03-04 11:23:24 766 3

原创 SpringBoot 内部方法调用,事务不起作用的原因及解决办法

1.1 前言: 在做业务开发时,遇到了一个事务不起作用的问题。大概流程是这样的,在同一个类中,两个及以上带有事务的方法调用(例如;有方法A(),B(),在A()中调用B()),失败后事务没有回滚。查阅资料后,问题得到解决,记录下来分享给大家。1.2 代码示例 /** * 内部调用新增方法 * * @param user */ @Override @Transactional(rollbackFor = Exception.class)

2021-03-03 14:57:08 1730 2

原创 Mysql中explain用法和结果字段的含义介绍

1 前言: 没有前言,看符不符合你口味就中了。2 explain执行计划的显示形式mysql> explain select * from students;+----+-------------+----------+------+---------------+------+---------+------+------+-------+| id | select_type | table | type | possible_keys | key | key_len | ref

2021-02-26 16:43:35 146

原创 base64 Util

1前言:没有前言,直接上代码。package com.wheat.sunshine.pay.provider.utils;import org.springframework.web.multipart.MultipartFile;import java.io.*;/** * @Title:Base64DecodedMultipartFile * @Author: lys * @Date:2020/12/18 * @Descrption: */public class Base64

2020-12-19 14:49:08 326 1

原创 网络编程之网络通信协议

1 前言:上一次对网络编程的基础做了一下概述,这次对网络的通信协议做一下概述,主要是对传输层协议进行学习记录。2 网络通信协议2.1什么是网络通信协议:计算机网络中实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。2.2 socket的简单介绍2.2.1 什么是socket: 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。2.2.2 socket认识 通信的两端都要有Socket,是两台机器间通信的端点。

2020-12-15 21:51:01 856

原创 springboot接口接收参数同时支持json和form表单形式

1前言:因为在公司做的是对外开放式api接口,让第三方调用,因为业务需求我们一个子项目需要在调用我们的接口的基础上做一下调整,但是这次他们传参一开始使用表单形式提交的,但是他的参数中有&这个符号(例如:http://testmb.4000750222.com/IntelligentVehicleManager/same/#/transition?laneNo=1524&callbackType=2),所以在我们这边接参的时候会把callbackType=2丢失掉,所以改变个接参策略,用jso

2020-12-02 20:24:20 5259 2

原创 fastjson简单的应用

1前言:fastjson作为阿里巴巴的开源框架,速度真快,真好用,但是在json,字符串,javaBean之间进行互相转换的时候经常很迷,不知道你们怎么样,反正我这样,这次简单梳理一下2开干先模拟一下数据 Model model = new Model(); model.setName("李园松"); model.setPassword("0987"); ArrayList<Integer> list = new ArrayList&l

2020-11-27 14:35:05 117

原创 easypoi的简单实践

1前言:Excel大家肯定很熟知,但是怎么样用Java代码与Excel表格进行数据交互呢,现在比较主流的有阿帕奇原生poi,还有基于阿帕奇进行封装的easypoi和阿里巴巴的easyExcel等等,前段时间做业务用easypoi,感觉爽歪歪,所以简单介绍一下。1.1 内容提要:主要写一下带有照片的Excel的导出和带有照片的Excel的导出2 easypoi的基础知识2.1 导入依赖 <!-- 做此业务是用的springboot版本 2.1.5.RELEASE -->

2020-11-26 14:38:08 896 3

原创 redis工具类 util

1 前言:常用的一些关于springboot集成redis一些方法的封装。2上代码package com.xiaomai.commons.redis;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.util.CollectionUtils;import javax.annotat

2020-11-24 13:52:29 221

原创 网络编程之基本概念

1前言: 你是否想过怎么用一个IP地址,或者url来完成资源的传输或者资源的下载?其实这是涉及到java基础的另一块知识———网络编程。java很好的封装了底层的一些东西,实现此功能就变得简单快捷了许多,这次就简单介绍一下什么是网络编程。2 网络编程中必须了解的几个问题2.1 什么是网络编程?我也不能很好的解释这个名词,我大概理解的意思就是,在网络环境下,多台计算机可以通过网络进行数据传输,交换等等的编程都可以称为网络编程。2.2为什么要使用网络编程直接或间接地通过网络协议与其它计算机实现数

2020-11-16 23:20:58 144

原创 多线程之线程的通信以及死锁

1 前言 刚刚上一页说了线程的同步,这次我们来聊一聊线程的通信以及死锁。2线程的通信2.1先上一段代码 class Communication implements Runnable { int i = 1; public void run() { while (true) { synchronized (this) {

2020-11-05 23:52:56 177

原创 多线程之线程的同步

1前言:线程的同步的知识略微杂乱,通过自己的学习做一些对基本知识的记录和梳理。以后有机会再干个大的。2 线程同步的引子2.1代码分析//模拟火车站售票程序,开启三个窗口售票。public class TestTrainTickets implements Runnable { private int ticketNum = 100; @Override public void run() { while (ticketNum > 0

2020-11-05 22:14:47 342 6

原创 一句话明白啥是微服务,分布式,集群

通俗来说,假设去大饭店吃饭就是一个完整的业务的话, 饭店的厨师、洗碗阿姨、服务员就是分布式; 厨师、洗碗阿姨和服务员都不止一个人,这就是集群; 分布式就是微服务的一种表现形式,分布式是部署层面,微服务是设计层面。...

2020-11-04 15:48:23 404

原创 Lombok之@SneakyThrows

1前言:这里记录一个@SneakyThrows的用法,关于他的用法,在官网上可以知道的很清楚官网介绍:http://projectlombok.org/features/SneakyThrows.html2代码示例个人理解:在代码中,使用 try,catch来捕捉一些异常,而你不想对他处理,只想抛出去(ps:个人理解,详情看官网的解释吧)不使用@SneakyThrows的代码package org.ygy.lombok.demo;import java.io.Unsupport

2020-10-09 14:23:17 599

原创 lomck中相关注解和日常使用

具体参考https://www.cnblogs.com/ziyue7575/p/11606864.html在写代码中主要使用:@Data@Builder@NoArgsConstructor@AllArgsConstructor@EqualsAndHashCode(callSuper = true) //继承父类时使用public class PayLogDTO extends BaseRequestDTO {}data@Data :注解在类上;提供类所有属性的 getting 和 .

2020-10-09 14:04:07 469

原创 多线程之四种创建方式

1前言:没有前言2 不得不提的一个类——Thread2.1Thread类的特性每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体。通过该Thread对象的start()方法来启动这个线程,而非直接调用run()2.2Thread类的构造器Thread():创建新的Thread对象Thread(String threadname):创建线程并指定线程实例名Thread(Runnable target):指定创建线程的目标对象,它实现

2020-09-29 23:25:27 273

原创 浅谈跨域问题

1前言: 这几天在公司做一个比较大数据量的导出功能,但是一直在服务器内存和各种后端性能极优的情况下总是不能达到预期效果,所以很脑壳疼,在探究问题的原因时,发现前端报错了,在百度搜索知道是VUE响应超时时,我看一下前端设置的超时时间是10S,几十万的数据导出你让我10S做出响应,我也是醉了,不知道为什么研究着,研究着这个问题,突然研究起来跨域问题来了,看到有个博客写的不错,根据这个博客内容,再结合自己的思考,做一下记录。2.1什么是跨域:是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏

2020-09-22 22:17:55 267

原创 IDM下载神器全新详解教程:如何安装以及不限速下载某网盘资源

1 前言:此工具是 IDM+油猴脚本,让网页版百度网盘非会员下载速度如飞2 工具简介:2.1 什么是IDM下载器?IDM下载器,全称Internet Download Manager,是国内外知名的多线程下载神器,下载功能强大,且支持视频媒体嗅探。2.2怎么下载IDM破解版(当然我是支持正版的,只不过囊中羞涩,暂时用破解版)https://www.52pojie.cn/thread-1238705-1-1.html以6.38.2版本的IDM为例,将下载好的安装包解压,双击下图中的安装程序,开

2020-09-21 14:18:21 11376 2

原创 JavaBean及其JavaList复制,为null值的属性不复制 util

1前言:没有前言2废话不多说,直接上代码package com.xm.hardwaremanagement.util.tkmybatis;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Collect

2020-09-15 11:21:04 656

原创 多线程之基本概念

1 前言:多线程一直是java学习者必须学习和深度理解和掌握的重要内容,所以自己回顾以往学习和使用的经历,根据自己的理解做一下总结。2 对程序,进程,线程基本概念的理解2.1程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。2.2进程(process) 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配

2020-09-11 22:23:40 387

原创 时间和字符串之间的util

有关时间类型package com.mgj.hardware.platform.api.util;import org.apache.commons.lang3.StringUtils;import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;impor.

2020-09-09 19:49:01 99

原创 通过本地路径获取的文件是否为照片Util

import javax.imageio.ImageIO;import java.awt.image.BufferedImage; /** * * @param pathImg 本地图片路径 * @return */ public boolean checkImage(String pathImg) { BufferedImage image = null; boolean valid =true; try

2020-09-07 12:40:33 86

原创 idea dubbo在debug(调试)模式下,启动很慢的问题解决方法

idea 在debug模式下启动dubbo的时候,dubbo注册的时候会非常慢,但是在非调试模式下,就正常!后来在debug模式下,将所有断点都清除后,速度立马就上来了!所以在debug模式下启动,需要将断点都清除再启动!...

2020-08-25 10:46:08 548

原创 关于时间的类 Calendar类

1 前言: Calendar类和Date类都是解决时间相关问题的,在使用过程中也存在相同之处和不同之处,这次我们主要说说Calendar类1.1简单介绍:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。2相关api方法说明static Calendar getInstance()使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:

2020-08-19 16:57:50 200

原创 关于springboot的一些小内容

1 每一个黑框一个小知识点//springboot启动时加载自定义类当一个自定义类实现applicationRuner后,当springboot项目启动时,会执行这个类//@Value("${xxxx}")注解的配置及使用Spring 通过@Value注解获取*.porperties文件code的内容,然后赋值给使用该注解的Code属性上。@Value("${code}")private String Code;` //springboot在controller层接收

2020-08-14 13:41:27 150

原创 Map集合的五种遍历方式

上代码package com.bie;import java.util.HashMap;import java.util.Iterator;import java.util.Map;/*** @author Lys**/public class MapTest01 { public static void main(String[] args) { Map<String, String> map=new HashMap<String, S.

2020-08-13 17:32:42 610

Java面向对象精髓编程pdf版.zip

java基础 Java面向对象精髓编程pd

2020-07-30

空空如也

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

TA关注的人

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