自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 spring微服务------------分布式事务-------------Seata AT事务方案

一、 业务场景(订单系统)订单系统保存订单订单系统调用库存服务,减少商品库存订单系统调用账户服务,扣减用户金额二、Seata AT基本原理Seata AT 事务分两个阶段来管理全局事务:第一阶段: 执行各分支事务第二阶段: 控制全局事务最终提交或回滚1. 第一阶段:执行各分支事务(1. 事务协调器:协调各个服务的运行状态。这个服务称为 TC(Transaction Coordinator)。(2. 订单系统开始执行,保存订单之前,首先启动 TM(Transaction Mana

2021-09-26 10:11:08 189

原创 RabbitMQ安装

一、将下载好的docker-install上传到 /root 目录二、直接拉去下载docker pull rabbitmq:management三、关闭防火墙,重新起dockersystemctl stop firewalldsystemctl disable firewalldsystemctl restart docker四、创建文件夹,配置用户密码mkdir /etc/rabbitmqvim /etc/rabbitmq/rabbitmq.confdefault_user = a

2021-09-18 02:34:40 163

原创 Docker安装

一、将下载的文件放入服务器的 /root/docker-install 文件夹下:[docker-install]- docker-20.10.6.tgz- install.sh- docker.bash二、继续执行# 进入 docker-install 文件夹cd docker-install# 为 docker-install 添加执行权限chmod +x install.sh# 安装./install.sh -f docker-20.10.6.tgz三、镜像加速

2021-09-18 02:12:47 199

原创 Util的

JsonUtilpackage cn.tedu.web.util;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Writer;import java.math.BigDecimal;import java.math.BigInteger;i

2021-09-09 10:51:49 107

原创 springCloud依赖

<dependencies> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-parameter-names</artifactId> <version>2.9.8</version> </dependency> <dependency&g

2021-09-09 09:46:22 117

原创 三级联查实现

需求:查询3级商品分类信息请求路径: /itemCat/findItemCatList/{level}请求类型: get请求参数: level业务说明: 查询3级分类菜单数据 要求三层结构嵌套返回值: SysResult对象pom文件<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-pare

2021-09-06 22:29:10 11187

原创 SpringBoot_____之____AOP应用实践

需求:基于OCP(开闭原则-对扩展开放对修改关闭)设计原则对功能进行扩展基于继承方式实现功能扩展,代码简单,容器理解,但是不够灵活,耦合性比较强。基于组合方式实现功能扩展,代码比较灵活,耦合低,稳定性强,但理解相对比较困难,代码繁琐。一. AOP简介AOP(Aspect Orient Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程(OOP)的一种补充和完善。二. 实现原理AOP可以在系统启动时为目标类型创建子类或兄弟类型对象,这样的对象我们通常.

2021-08-31 19:59:16 129

原创 Tomcat 请求处理分析和Java线程池构成分析____写线程池ThreadPoolExecutor(7个参数)/四种拒绝策略/线程池工厂改名

Tomcat 请求处理分析Java线程池构成分析package com.jt.thread;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicLong;public class ThreadPoolTests { public static void main(String[] args) { //1.核心线程数 int corePoolSize = 2; //2.最

2021-08-31 19:31:54 201

原创 写定时任务TimeTask()

package com.jt.thread;import java.util.Timer;import java.util.TimerTask;public class TimerTests { public static void main(String[] args) { //通过timer对象可以启动一个定时任务 Timer timer=new Timer(); //基于timer对象启动并执行任务 timer.sche

2021-08-30 18:58:17 158

原创 全局异常处理和全局过滤器处理

一. 全局异常处理Spring框架中web模块定义了一套全局异常处理规范,基于这个套规范处理Controller中抛出的异常package com.jt.advice;/** @RestControllerAdvice 注解描述的类为全局异常处理类,启动时会交给spring管理*/@RestControllerAdvicepublic class GlobalExceptionHandler { private static final Logger log=LoggerFact

2021-08-28 11:29:16 736

原创 微服务之SSO单点登录(Single Sign On)/BCryptPasswordEncoder加密规则/安全配置/实现用户详细服务接口/认证管理

一. 添加项目依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cl

2021-08-27 20:01:37 1044

原创 微服务架构Sentinel,限流,熔断(降级),异常重写

一. Sentinel概述是一个流量控制平台,它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。二. 使用流程1. 安装(https://github.com/alibaba/Sentinel/releases),下载jar包2. 在sentinel对应目录,打开命令行(cmd),启动运行sentineljava -Dserver.port=8180 -Dcsp.sentinel.dashboard.server=localhost:8180 -Dproject.

2021-08-20 19:53:27 801

原创 微服务Nacos\LoadBalancerClient\R

一. 先要一个服务的管理平台Nacos(注册,发现,配置)1.解压nacos或下载(https://github.com/alibaba/nacos/releases)(版本1.4.1)2.在数据库执行config文件中nacos-mysql.sql脚本(脚本可能不带创建库)3.打开/conf/application.properties文件,配置数据源和数据库4.windows打开Nacosstartup.cmd -m standalone(要么bin目录cmd,要么配置环境变量)5.local

2021-08-19 20:44:47 1098 1

原创 上传文件照片后端详情

package com.jt.service;import com.jt.vo.ImageVO;import org.springframework.stereotype.Service;import org.springframework.web.multipart.MultipartFile;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.i

2021-08-10 18:47:17 172

原创 查询三级目录和删除三级目录业务后端详情

package com.jt.service;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.jt.mapper.ItemCatMapper;import com.jt.pojo.ItemCat;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotyp

2021-08-10 18:45:26 756

原创 商品入库同时操作两个表MP自动id回显,Mybatis需要useGeneratedKeys

package com.jt.service;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.jt.mapper.ItemDescMapper;import com.jt.mapper.ItemMapper;import com.jt.pojo.Item;i

2021-08-10 18:42:46 301 1

原创 Spring处理全局异常的机制(将后台运行异常报错提示到前端)/事务回滚

全路径:com.jt.advice.MyExceptionAdvicepackage com.jt.advice;import com.jt.vo.SysResult;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;/** * 处理全局异常的机制 * Spring为了整合全局

2021-08-08 15:06:57 496

原创 MyBatis-Plus的分页配置类

路径:com.jt.config.MyBatisPlusConfigpackage com.jt.config;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerI

2021-08-08 10:57:33 545

原创 MyBatis-Plus的日期自动填充实现类配置

实现类名:MetaObjectHandler全路径:com.jt.config.MyMetaObjectHandlerpackage com.jt.config;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import org.apache.ibatis.reflection.MetaObject;import org.springframework.stereotype.Component;import j

2021-08-08 10:54:06 148

原创 application.yml文件

#SpringBoot配置mysql信息spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///jt?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: root#SpringBoot整合Mybatis配置mybatis: #指定UserMap

2021-07-22 20:08:29 118

原创 POM文件

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from re.

2021-07-22 17:11:52 136

原创 完整整合Spring、Mybatis后端框架,通过controller层手动接收调用service层调用dao层再执行sql返回结果

1.新建一个model(启动类写dao层包扫描)2.配置pom文件,加入依赖<dependencies> <!--mybatis依赖包--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifa

2021-07-20 20:03:59 1123 2

原创 通过配置mybatis-config.xml,创建session会话,来整合spring和mybatis框架,并通过单元测试测试

新建一个maven工程,不使用接口的测试。1.配置pom文件,加入jdbc和mybatis的jar包<dependencies> <!--mybatis依赖包--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId&

2021-07-20 19:18:14 141

原创 Vue脚手架搭建和创建Vue项目

一、搭建Vue环境1)验证nodejs是否安装好在选中的文件中,输入cmd进入命令框进行验证node -v2)把npm换到国外中央仓库,换镜像:阿里淘宝nodejs中含有npm,输入以下代码npm config set registry https://registry.npm.taobao.org验证是否更改镜像npm config get registry3)安装vue脚手架(地基)接着在命令框输入npm install vue-cli -ginstall安装,vue-cli(v

2021-04-28 18:06:16 459 4

原创 小白的前端总结

1.首先是html,用来写前端页面的内容2.其次用bootstrap来直接渲染页面或者饿了么element-ui;也就是开发好的一整套css<link rel="stylesheet" href="css/bootstrap.min.css" />3.js语言是要简单学习的,因为js衍生出了ajax进行前后端的交互,它负责把页面请求发送给后端java;因为js衍生json,替代了xml(极大的萎缩),json是字符串的形式。方便获取;因为js中衍生出了DOM树,根据扫描(从上到下遍历htm

2021-04-26 19:05:11 233

原创 Jquery中Ajax和bootstrap的前端分页详写

一、1.进入https://v3.bootcss.com/的基本模板中粘贴Bootstrap 页面

2021-03-31 15:20:54 676

原创 SpringBoot中线程异步处理和拒绝策略

一、异步处理1.SpringBoot 工程中默认支持异步操作,但是我们需要首先在启动类的上面,添加启动异步操作的注解(@EnableAsync)描述@EnableAsync@SpringBootApplicationpublic class LogApplication { public static void main(String[] args) { SpringApplication.run(LogApplication.class, args); }}

2021-03-19 18:37:02 1125

原创 Spring 框架 AOP 模块定义通知类型

一、常用通知注解Spring 框架 AOP 模块定义通知类型,有如下几种:▪ @Around (优先级最高的通知,可以在目标方法执行之前,之后灵活进行业务拓展.)▪ @Before (目标方法执行之前调用)▪ @AfterReturning (目标方法正常结束时执行)▪ @AfterThrowing (目标方法异常结束时执行)▪ @After (目标方法结束时执行,正常结束和异常结束它都会执行)二、测试2.1定义注解@Retention(RetentionPolicy.RUNTIME)@

2021-03-18 23:03:33 291

原创 可变参数的使用

一、可变参数特征1.可变参数只能应用于方法参数的最后一个参数2.可变参数可以理解为一个数组3.为了优化数组方式的传值,同时简化参数类型相同,参数个数不同的一些重载方法的求和public class VarParamTests { // static int sum(int a,int b){// return a+b;// }// static int sum(int a,int b,int c){// return a+b+c;//

2021-03-09 14:09:51 433

原创 HiKariCP的取代之路

为何要使用HiKariCP?这要先从BoneCP说起:原本有C3P0/DBCP这些成熟的数据库连接池,一直用的好好的,为什么又搞出一个BoneCP来?因为,传说中BoneCP在快速这个特点上做到了极致,官方数据是C3P0等的25倍左右。HiKariCP是光的意思,作者可能是日本人,用光来表示cp速度之快。HiKariCP的特征:快速、简单、可靠。特点1.字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;2.优化代理和拦截器:减少代码,例如HikariCP的St

2021-02-20 10:19:57 126

原创 我的异常总结

一、Maven中1. 插件问题2. 依赖下载问题二、SpringBoot中1. 网络问题2. 启动类2.1 @SpringBootConfiguration2.2 Multipl @SpringBootConfiguration3.连接池3.1 ‘url’ attribute3.2 CommunicationException3.3 Access Denied4. MyBatis4.1 SqlSyntaxErrorException4.2 BindingExce

2021-01-28 14:10:33 70 1

原创 加强反射和springboot整合项目的理解、MyBatis取代jdbc的使用步骤

一、反射Reflect API反射的起点(Class类型的对象)通过反射来操作字节码对象Constructor(构造) newInstance(实例化构造对象)Field (属性) 可能有getXxx、setXxxMethod(方法) invoke(执行方法) getAnnotation(获取方法上的注解等)1.优势/劣势灵活,不能预知未来,但能驾驭未来/性能有一定的损耗2.场景构建框架,实现编程的复用3.具体应用1)获取构造方法,对象基于构造方法对象,构建类的实例对象2)获

2021-01-27 19:13:02 280

原创 IDEA中使用Git

一、Git配置1.下载安装gitWindows和Mac系统, 可以直接从 http://git-scm.com/downloads2.全局用户信息配置配置用户和密码$ git config --global user.name "your-name"$ git config --global user.email "your-email@youremail.com"检查配置信息$ git config --list二、idea配置git1.打开Setting中的Plugins选项,然

2021-01-25 17:18:34 291

原创 Spring业务层和Mybatis数据库框架的使用

一、Spring1.是业务层1.对数据处理,需要对象,以前是自己new对象,管理对象,可以把对象放在list或map中2.是ioc容器,ioc容器提供了一个hashMap2.基本注解使用@autowired spring容器会从ioc中取一个对象赋值给userService@component组件,controller和service都是component@scope生命周期有三种singleton、prototype、session@Service业务层实现类前要加,告诉spri

2021-01-19 00:27:44 612

原创 Maven和Tomcat的配置

一、Maven的使用1.maven基本配置1.解压maven,修改conf/setting,xml中的localRepository仓库路径,选择自己的一个本地仓库路径,之后加载的jar放一起更方便使用。2.设置环境变量path,把maven/bin目录加入到系统环境变量path中3.检查安装是否正确: mvn -version4.在eclipse中设置jdk:Windows->preferences5.在preferences中设置maven2.手动创建maven项目1.前

2021-01-17 22:06:51 952

原创 bootstrap样式的链接、js中DOM的使用、jQuery的取代js的DOM、解析json的字符串、Ajax向网站的访问获取返回封装和展示

一、bootstrap的使用1.概念bootstrap3就是一堆样式定义,事先定义很多漂亮的风格2.通过link标签引入bootstrap<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">一般在HBuilderX里创一个css目录,将bootstrap内容复制到bootstrap.min.css更方便简洁.min,压缩文件,

2021-01-08 23:07:03 555

原创 HbuilderX 静态常规操作 快忘快看

一、HbuilderX的静态使用自动缩进快捷键:Ctrl+K1.style里的常用标签内容width: 100px; 设置宽度height: 100px; 设置高度padding:5px; 内边距(顺时针上右下左)margin:5px; 外边距(顺时针上右下左)border: 1px solid #FF0000; 边线: 线粗 实线 颜色background-color: black; 设置背景颜色text-a

2021-01-06 21:49:39 6808

原创 day~~25 SQL优化、JDBC的连接、HBuilderX的HTML基本开发

回顾1)使用git命令git add . 提交改变(新增文件,修改,删除文件)把这些改变操作日记记录下来到本地索引git commit -m " 提交的别名 " 根据本地索引日志,进行提交操作,提交到本地仓库git push -u origin master 把本地仓库的内容提交到远程仓库git pull 拉取git clone 克隆一、SQL优化SQL优化是在很多小点上进行的优化索引中有很多类型:ALL(全表扫描,最差),index(全

2021-01-05 19:42:25 446

原创 git、github、gitee使用,SQL优化

回顾1)MySQL和Oracle的区别a.表名MySQL习惯小写,Oracle习惯大写b.字段名称 : MySQL小写,Oracle习惯大写c.constraint : 约束,主键语法不同d.字符串类型 : MySQL叫varchar,Oracle叫VARCHAR2e.日期类型 : MySQL叫datetime,Oracle叫TIMESTAMP(时间戳)f.浮点数类型:MySQL叫decimal,Oracle叫number,NUMERIC结论:SQL都遵循SQL92标准,意味着大多数SQL语

2021-01-04 20:28:39 252

原创 day~~23数据库中的事务、子查询、表关联、索引的使用

一、事务transaction1.事务的四个条件ACID1.原子性(Atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间的某个环节.事务在执行期间发生错误会直接回滚(rollback)到事务开始前的状态,就像从来没有执行过一样.2.一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏,表示写入的资料完全符合预设的规则.3.隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读取或修

2020-12-30 21:42:45 174

空空如也

空空如也

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

TA关注的人

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