自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

希冀

世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离; 世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己; 世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默 默承受,静静处理。到那时,再来期

  • 博客(349)
  • 资源 (10)
  • 收藏
  • 关注

原创 SpringBoot相关内容介绍

文章目录Spring Boot 2 启动时加载properties文件Spring Boot 2 启动时加载properties文件每个项目从开发到测试再到上线所需要的各种环境是不同的,这就需要维护相应的配置文件,比如properties或yml文件。有了配置文件后就要考虑如何与应用进行集成。对于云环境来讲,项目发布需要打成镜像,再进行部署。如果把spring boot项目连同配置文件(变量)一起打入JAR包并不是一个很好的选择,我们的做法是JAR不包含配置文件,待启动镜像和JAR时将配置文件动态赋

2021-01-05 11:00:48 295 1

原创 Gradle入门到精通

文章目录简介Gradle安装配置(Windows版)Gradle和idea集成Groovy语言简单介绍Groovy中的闭包gradle配置文件介绍让gradle使用本地maven仓库gradle web 工程gradle工程拆分与聚合简介Java作为一门世界级主流编程语言,有一款高效易用的项目管理工具是java开发者共同追求的心愿和目标。先是2000年Ant,后有2004年Maven两个工具的诞生,都在java市场上取得了巨大的成功。但是二者都有一定的不足和局限性。2012年基于Ant和Maven产

2021-01-04 23:52:59 377

转载 AES算法的底层实现是如何进行的?

文章目录假设有一个发送方在向接收方发送消息。如果没有任何加密算法,接收方发送的是一个明文消息:“我是小灰”如果消息被中间人截获到,即使中间人无法篡改消息,也可以窥探到消息的内容,从而暴露了通信双方的私密。因此我们不再直接传送明文,而改用对称加密的方式传输密文,画风就变成了下面这样:具体工作的步骤如下:1.发送方利用密钥123456,加密明文“我是小灰”,加密结果为TNYRvx+SNjZwEK+ZXFEcDw==。2.发送方把加密后的内容TNYRvx+SNjZwEK+Z

2020-12-29 21:26:53 517

原创 解读Triple、ImmutableTriple、MutableTriple的源码

文章目录Triple介绍三者之间的关系ImmutableTripleMutableTripleTriple介绍包路径为:org.apache.commons.lang3.tupleTriple是一个抽象类,它实现了Comparable、Serializable接口。它的内部还有一个类TripleAdapter,是它的子类。Triple是用于存储三个对象的。三个对象的位置是left、middle、right。因此Triple带泛型是Triple< L ,M ,R>。Triple类

2020-12-29 11:37:19 2337

原创 关于MultipartFile与File如何进行转换

文章目录File转MultipartFileMultipartFile转FileFile转MultipartFilepackage edp;import org.apache.poi.util.IOUtils;import org.springframework.mock.web.MockMultipartFile;import org.springframework.web.multipart.MultipartFile;import java.io.File;import java.i

2020-12-23 16:04:01 5063 1

原创 Spring中的Condition接口有什么作用?

文章目录Condition介绍关于`@Conditional`注解关于ConditionContext参数关于AnnotatedTypeMetadata参数Condition介绍Condition是一个函数式接口,内部只包含一个matches()方法。通常情况下,我们会写一个类实现这个接口,重写里面的matches()方法,通过这个方法的返回值来决定要不要把某个Bean注册到Spring IOC容器中。举例:上面这个就是通过读取文件中spring.security.oauth2.enable

2020-12-10 19:04:19 1325 2

原创 Deque怎么理解?

文章目录介绍ArrayDeque介绍Deque 是 Double ended queue (双端队列) 的缩写。Deque的父接口有:Deque的子接口和实现类有:Deque接口包含了以下方法:Deque 支持容量受限的双端队列,也支持大小不固定的。一般双端队列大小不确定。Deque 的实现类主要分为两种场景:一般场景LinkedList 为大小可变的链表双端队列,允许元素为 nullArrayDeque 为大小可变的数组双端队列,不允许 null并发场景Linke

2020-12-09 16:07:59 352

原创 正则表达式在java中是如何使用的?

文章目录

2020-12-03 18:26:44 2060

原创 maven-assembly-plugin 快速入门(maven assembly 插件)

文章目录使用方法描述符文件元素介绍(assembly.xml)idformatsdependencySetsfileSetsfiles当你使用 Maven 对项目打包时,你需要了解以下 3 个打包 plugin,它们分别是pluginfunctionmaven-jar-plugin maven默认打包插件,用来创建 project jarmaven-shade-plugin用来打可执行包,executable(fat) jarmaven-assembly-plugin

2020-11-27 18:08:11 646

原创 Travis CI(持续集成)

文章目录持续集成(Travis CI)简介什么是持续集成?Travis CI 使用详解Travis CI的.travis.yml配置文件持续集成(Travis CI)运行流程详解install 命令script 命令Travis 部署Travis 钩子方法Travis 运行状态持续集成(Travis CI)简介编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis CI 就是这类工具之中,市场份额最大

2020-11-27 16:26:44 492

原创 zookeeper与dubbo快速入门案例

文章目录zookeeper&dubbo1. 概述1.1. 什么是zookeeper1.2. 本质及主要作用1.2.1. 统一命名服务1.2.2. 配置管理1.2.3. 集群管理2. 下载及安装2.1. 安装2.2. 配置文件解读2.3. 启动zookeeper2.4. 客户端连接3. Znode数据模型3.1. 数据结构图3.2. 节点类型3.3. 节点属性4. 通知机制(watch)4.1. watch机制特点4.2. shell客户端演示5. java客户端6. dubbo入门6.1. 架构

2020-11-20 13:40:01 479

原创 Junit

文章目录@Test@BeforeClass@AfterClass@Before@After@Ignore单元测试所有的方法必须为public void 类型的。@TestJunit 可用于单元测试。我们只需要在相对应的方法上添加@Test注解即可。@BeforeClass当测试方法执行之前,最先执行标有该注解的方法。必须为static。@AfterClass当测试方法执行之后,最后执行标有该注解的方法,必须为static。@Before当测试方法执行之前,先执行标有该注解的方法。@Af

2020-11-05 15:07:32 202

原创 TestNG

TestNG是一个测试框架。建议:不需要JMockit等模拟框架时优先选择TestNG、需要模拟框架时优先选择JUnit。@Test作用跟junit中的@Test作用一样。@BeforeSuite测试套件在执行之前需要执行的。@ AfterSuite测试套件在执行之后需要执行的。@BeforeTest在测试之前需要执行的。@AfterTest在测试之后需要执行的。@BeforeGroups在一个测试方法所属于的任意一个组的第一个方法被调用之前执行。@AfterGroups在一个

2020-11-05 15:06:47 160

原创 SVN

文章目录SVN解决的问题简介SVN的工作原理SVN的基本操作SVN的安装与配置安装服务器端程序配置版本库启动服务器端程序使用命令行模式访问 SVN 服务器SVN解决的问题可以进行备份。可以将代码还原。可以达到协同修改。多版本项目文件管理。可以追溯问题代码的编写人和编写时间。可以进行权限控制。简介版本控制[Revision control],是一种思想。而SVN是实现版本控制的工具软件。全称是SubVersion,通常也称为版本控制器。Subversion 是 Apache 软件基金会组

2020-11-05 15:05:43 154

原创 使用idea这些快捷键帮你开发效率提升好几倍(Windows版)

文章目录

2020-11-05 15:02:52 190

原创 quartz报Caused by: java.lang.ClassNotFoundException: org.quartz.plugins.xml.JobInitializationPlugin

错误如下:解决办法将quartz.properties配置文件全部注释掉,只留下一个配置线程数的,其余全部使用默认的即可。

2020-11-02 10:59:53 607

原创 Quartz快速入门案例

Quartz任务调度一.Quartz概念Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。quartz是开源且具有丰富特性的"任务调度库",能够集成于任何的java应用,小到独立的应用,大至电子商业系统。quartz能够创建亦简单亦复杂的调度,以执行上十、上百,甚至上万的任务。任务job被定义为标准的java组件,能够执行任何你想要实现的功能。quartz调度框架包含许多企业级的特性,如JTA事务、集

2020-10-30 18:55:59 600 1

原创 日志中的相关解释

%d 输出日志时间点的日期(一般是那一天),也可以在其后用大括号自定义格式,比如:%d{yyyy MMM dd HH:mm:ss:SSS},输出类似:2014 11 05 :23:28 :22%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL ;%r 输出自应用启动到输出该log信息耗费的毫秒数 ;%c 输出所属的全类名,也可以只输出类名,:%c{1} ;%t 输出产生该日志的当前线程名字 ;%m 输出代码中自定义的的信息;%n 输出一个回车换行符,Windows平台为“

2020-10-29 16:11:00 222

原创 SpringSecurity的基本使用

文章目录简介历史简介SpringSecurity是一个基于Spring框架的,提供了一套Web应用安全性的完整解决方案的框架。安全方面的两个主要区域是“认证”和“授权”,一般来说,Web应用的安全性包含用户认证和用户授权两个部分,这也是SpringSecurity框架的重要核心功能。历史...

2020-10-21 22:45:26 149 1

原创 Eclipse插件开发

文章目录如何选择插件开发插件开发的五部分各部分说明如何选择插件开发点击open perspective(打开透视图),选择插件开发。即可切换到相关插件开发的视图。插件开发的五部分工具栏、菜单、工作区、透视图、视图。各部分说明...

2020-10-16 20:58:42 159

原创 Google的开源架包中的工具类解决驼峰命名与下划线命名互转。

最近公司项目的要求,把数据库表名转化为对应的pojo类。于是我自己手写了一个工具类,进行互相转化,结果被要求修改。翻来覆去,终于找到了一个开源的工具类啦。首先它是Google开发的。架包如下:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version>

2020-09-25 00:31:10 667

原创 SpringCloud Netflix

文章目录RPC概念高并发衡量指标高可用注册中心负载均衡服务雪崩熔断限流API网关SpringCloud相关模块SpringCloud命名规则官方网站开启Eureka注册中心功能配置文件RPC概念RPC:【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。服务之间常见的交互方式有两种:1、RPC(Netty[socket]+自定义序列化)2、RestAPI(HTTP+JSON)Tomcat最多支持并发多少用户?Tomcat 默认配

2020-09-09 15:41:21 423

原创 Thymeleaf

目录常用语法常用语法Thymeleaf通过${}来获取model中的变量欢迎您:<span th:text="${user.name}">请登录</span>th:object<h2> <p th:text="${user.name}">Jack</p> <p> th:text="${user.age}">21</p> <p th:text="${user.friend.na

2020-09-07 23:38:21 129

原创 Quartz

文章目录概述Quartz的基本组成部分Quartz依赖的架包JobJobDetailJobExecutionContextTriggerCron表达式概述Quartz是一个定时任务框架,跟xxl-job类似。Quartz的基本组成部分调度器:Scheduler任务:JobDetail触发器:Trigger,包括SimpleTrigger和CronTriggerQuartz依赖的架包<!-- https://mvnrepository.com/artifact/org.quartz-sc

2020-09-07 23:34:48 99

原创 SpringCloud Alibaba

SpringCloud Alibaba一、 简介由于性能关系,Eureka停止更新,Hystrix和Ribbon进入维护模式,不再继续更新。2018.10.31,Spring Cloud Alibaba正式入驻了Spring Cloud官网孵化器,并在Maven中央库发布了第一个版本。Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Sp

2020-08-25 00:12:57 435

原创 Jenkins是如何进行部署的?

0-自动化部署相关概念java项目部署方式第一种:手动部署第二种:自动化部署搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中。概念扫盲CI:Continuous Integration 持续集成CD:Continuous Delivery 持续交互devpos:详情见 百度百科持续集成工具Jenkins 和 Hundson200

2020-08-16 22:34:04 1358

原创 14.支付、秒杀

1. 支付订单搞定之后就是支付了,首先搭建支付工程。1.1. 搭建环境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/PO

2020-08-15 20:14:45 529 2

原创 13.订单、库存

1. 搭建订单工程完成购物车页面之后,点击购物车页面的“去结算”按钮,跳转到订单结算页。接下来,先搭建订单系统: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="htt

2020-08-15 13:13:23 990

原创 12.分布式定时任务(xxl-job)

1. 定时任务为什么需要定时任务?时间驱动处理场景: 整点发送优惠券,每天更新收益,每天刷新标签数据和人群数据。批量处理数据: 按月批量统计报表数据,批量更新短信状态,实时性要求不高。异步执行解耦: 活动状态刷新,数据同步,异步执行离线查询,与内部逻辑解耦。实现方式:jdk方式:死循环、Timer定时器、JUC定时任务等springScheduling声明式定时任务:@EnableScheduling、@Scheduled永远的经典:定时任务框架quartz分布式定时任务:xxl-jo.

2020-08-14 19:29:25 3625 1

原创 密码学,你懂多少?

第一章 密码学1.1 密码学基本概念密码在我们的生活中有着重要的作用,那么密码究竟来自何方,为何会产生呢?密码学是网络安全、信息安全、区块链等产品的基础,常见的非对称加密、对称加密、散列函数等,都属于密码学范畴。密码学有数千年的历史,从最开始的替换法到如今的非对称加密算法,经历了古典密码学,近代密码学和现代密码学三个阶段。密码学不仅仅是数学家们的智慧,更是如今网络空间安全的重要基础。1.1.1 古典密码学在古代的战争中,多见使用隐藏信息的方式保护重要的通信资料。比如先把需要保护的信息用化学药水

2020-07-31 01:53:29 1651 1

原创 11.购物车、SpringTask

1. 购物车功能分析1.1. 功能需求需求描述:用户可以在登录状态下将商品添加到购物车用户可以在未登录状态下将商品添加到购物车用户可以使用购物车一起结算下单(批量下单)用户可以查询自己的购物车用户可以在购物车中修改购买商品的数量。用户可以在购物车中删除商品。在购物车中展示商品优惠信息提示购物车商品价格变化提示购物车商品价格变化,数据结构,首先分析一下购物车的数据结构1.2. 数据结构首先分析一下购物车的数据结构因此每一个购物车信息,都是一个对象,基本字段包括:{

2020-07-30 22:13:28 620

原创 10.单点登录(jwt)

1. 用户管理提供数据接口搭建gmall-ums略。。。。参照课前资料中的《前端商城接口文档.md》编写数据接口1.1. 数据验证功能根据接口文档知:请求方式:GET请求路径:check/{param}/{type}请求参数:param,type返回结果:true或false1.1.2. UserController/** * 校验数据是否可用 * @param data * @param type * @return */@Get

2020-07-30 21:56:19 770

原创 9.商品详情页及异步编排(CompletableFuture)

1. 商品详情当用户搜索到商品,肯定会点击查看,就会进入商品详情页,接下来我们完成商品详情页的展示。商品详情浏览量比较大,并发高,我们会独立开启一个微服务,用来展示商品详情。1.1. 创建modulepom.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/XMLSc

2020-07-30 21:36:47 1611

原创 8.商品分类、缓存及分布式锁(Redisson)

1. 门户首页商品分类搜索做完之后,把目光移动首页,首页最重要的模块之一便是商品分类,商品分类也是进入商品列表,找到心仪商品的另一个主要途径。接下来就搭建一个module。这个页面作为整个商城的门户入口,访问量巨大,为了方便优化扩展,需要搭建独立的系统。1.1. 创建首页Module创建gmall-index首页工程application.yml配置如下:bootstrap.yml配置略。。。server: port: 18087spring: cloud: nacos:

2020-07-30 21:30:23 484

原创 RabbitMQ你懂多少?

1. RabbitMQ1.1. 搜索与商品服务的问题目前我们已经完成了商品详情和搜索系统的开发。我们思考一下,是否存在问题?商品的原始数据保存在数据库中,增删改查都在数据库中完成。搜索服务数据来源是索引库,如果数据库商品发生变化,索引库数据不能及时更新。如果我们在后台修改了商品的价格,搜索页面依然是旧的价格,这样显然不对。该如何解决?这里有两种解决方案:方案1:每当后台对商品做增删改操作,同时要修改索引库数据方案2:搜索服务对外提供操作接口,后台在商品增删改后,调用接口以上两种

2020-07-29 18:04:14 528

原创 JavaEE技术之分布式事务

1. 本地事务商品新增功能非常复杂,商品管理微服务在service层中调用保存spu和sku相关的方法,为了保证数据的一致性,必然会使用事务。在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。单体应用中使用的事务都是本地事务。所谓本地事务,是指该事务仅在当前工程内有效。1.1. 基本概念事务的概念:事务是逻辑上一组操作,组成这组操作各个逻辑单元,要么一起成功,要么一起失败。事务的四个特性(ACID):

2020-07-27 02:13:23 1101

原创 7.数据同步、RabbitMQ

1. RabbitMQ回顾1.1. 概念回顾MOM:Message-oriented middleware,面向消息中间件MQ:Message Queue,消息队列。应用程序之间的通信方法两种主流实现:JMS:Java MessageService,是一种java接口规范。必须java实现,只有两种消息模型AMQP:Advanced Message Queuing Protocol,高级消息队列协议。任何语言都可实现,可以有多种消息模型主要作用:异步解耦削峰主流MQ产品:A

2020-07-26 23:45:51 382

原创 6.模板引擎(Thymeleaf)及搜索页渲染

1. 认识thymeleaf1.1. 模板技术把页面中的静态数据替换成从后台数据库中的数据。这种操作用jsp就可以实现。但是Spring boot 的架构不推荐使用Jsp,而且支持也不好,所以如果你是用springboot的话,一般使用Freemarker或者Thymeleaf。官方推荐使用Thymeleaf。1.2. 简介官方网站:https://www.thymeleaf.org/index.htmlThymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。Thy

2020-07-26 23:34:11 1210 2

原创 创建新Docker容器时出现“The container name “/xxx“ is already in use by container xxxxxxxxxxx...”问题的解决办法

创建新Docker容器时出现“The container name “/xxx” is already in use by container xxxxxxxxxxx…”问题的解决办法详细错误提示:/usr/bin/docker-current: Error response from daemon: Conflict. The container name “/xxx” is already in use by container e3274a72e8d62a0f3022d3201405ce58614

2020-07-25 00:53:55 2117

原创 5.商品搜索

1. 导入商品数据1.1. 搭建搜索工程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

2020-07-25 00:49:58 356

kettle工具——用于数据迁移等

kettle工具,ETL

2022-07-05

windows64位达梦管理工具

达梦管理工具——用于连接达梦数据库

2022-07-04

常见请求和响应头-说明.doc

内包含一些常见的请求头与响应头。作为 HTTP 传输的组成部分,请求头与响应头因为不属于内容体的一部分而往往被大家所忽视,事实上请求头与响应头作为客户端与服务器端协调的部件,在整个传输过程中起着相当重要的作用。

2020-04-11

dom4j-1.6.1.zip

jdom 在dom基础上进行了封装 、dom4j 又对jdom 进行了封装。dom解析技术是W3C组织制定的,而所有的编程语言都对这个解析技术使用了自己语言的特点进行实现。Java对dom技术解析标记也做了实现。

2020-04-08

apache-tomcat-8.5.32.zip

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,是开发和调试JSP程序的首选,实现了对Servlet和JavaServer Page的支持,并提供Web服务器的一些特有功能。

2020-04-08

C3P0数据库连接池驱动.zip

数据库连接池的基本原理就是为数据库建立一个缓冲池。在缓冲池中先创建指定数量的数据库连接,当有连接请求时就从缓冲池中取出处于“空闲”状态的连接,并将此连接标记为“忙碌”,直到该请求进程结束后,它所使用的连接才会重新回到“空闲”状态,并等待下一次请求调用。

2020-04-01

DBUtils.zip

将常用的操作数据库的JDBC的类和方法集合在 一起,就是DBUtils.ResultSetHandler,此接口 用于处理数据库查询操作 得到的结果集。不同的结 果集的情形,由其不同的 子类来实现 QueryRunner,提供数据库操 作的一系列重载的update()和 query()操作 BeanHandler:把结果集转为一个 Bean BeanListHandler:把结果集转为一个 Bean 的集合 MapHandler:把结果集转为一个 Map MapListHandler:把结果集转为一个 Map 的 List ScalarHandler:把结果集转为一个类型的数据返回, 该类型通 常指 String 或其它 8 种基本数据类型.

2020-03-31

MySQL数据库安装文档.zip

MySQL数据库安装文档里面包含每一步操作,也包含各个截图。其实包含多种方法。并且还解决了乱码问题,设置配置文件等等。

2020-03-25

mysql-5.5.27-winx64-服务端.zip

MySQL服务端,用于写SQL代码。版本5.5,支持64位操作系统。Mysql是一个c/s架构的软件,所以有服务端和客户端,服务端一般长期运行,客户端在需要使用的时候才启动,想要访问服务器必须要在客户端进行连接和授权认证过程。

2020-03-25

jdk1.8.zip

jdk1.8是一款功能强大的Java语音软件开发工具包。jdk1.8官方版中包含了Java的运行环境以及Java工具,可自动检测设备上的JDK版本、自动查找设备上的JDK安装路径、自动配置JDK对应电脑操作系统的环境变量,支持32和64位操作系统。

2019-12-16

空空如也

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

TA关注的人

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