- 博客(287)
- 资源 (37)
- 收藏
- 关注
原创 SpringCloud-Alibaba微服务架构实战教程—28分布式文件上传与对象存储
前言文件上传在系统中使用非常频繁,将上传的文件进行存储。以前传统的将文件上传到本机已不适用于分布式系统下,速度慢,占用资源多。自己搭建文件服务器有复杂性和维护成本。所以今天,准备教大家可以采用市面上成熟的文件存储服务,如阿里云的OSS对象存储服务,来完成文件上传功能。一、传统的OSS上传方式在以前,Web 端常见的上传方法是用户在浏览器或 APP 端上传文件到应用服务器,然后应用服务器再把文件上传到 OSS。流程如下:和数据直传到 OSS 相比,以上方法有三个缺点:上传慢:用户数据
2021-07-08 18:41:14
652
原创 SpringCloud-Alibaba微服务架构实战教程—27分布式中的定时任务
前言论在实际的开发中特别常见的功能,那么定时任务肯定榜上有名。因为在系统的使用中,经常会有需求,定时定量的去做某件事请,完成某个功能,遇到这种情况,自然就需要使用定时任务来处理了。所以,今天的需求任务是,要开发一个定时任务,用来定时完成某些事。一、Cron定时表达式在使用java中开发定时任务功能,离不开一个表达式。——Crontab表达式。Cron表达式,它是一个字符串,包含五个到七个由空格分隔的字段(每种软件不一样),表示一组时间,通常作为执行某个程序的时间表。比如:设置每5秒执行一
2021-07-08 15:30:36
1605
3
原创 SpringCloud-Alibaba微服务架构实战教程—26构建通用型短信服务
随着手机实名制的推广,不管什么样的系统,都基本上要求手机号码注册、验证、绑定等等,这些商家拿到你的电话同时,就会给你发送不少的短信,或营销、或活动、或验证码、或报警通知等等。总之,这一切,都需要一个功能——就是发送手机短信!那么如何实现一个通用型的手机短信功能呢?在笔者以前的一些文章中,就已经说过如何开发一个手机短信发送的功能,采用腾讯云SDK+redis完成,今天在将它融入到我们的项目中。好了,废话不多说,开始今天我们的任务。
2021-07-08 13:52:23
1107
原创 SpringCloud-Alibaba微服务架构实战教程—25请求重复提交与数据库防重设计
前言用户连续快速点击某个提交按钮,前端没有针对性处理,就会导致连续发送多次请求,假如一次命中服务器A上微服务,另一次命中服务器B上的微服务, 那么就会生成了两个内容完全相同的记录数据,只是 id号不同而已,这样数据库也出现了脏数据。对于这样的现象,可以说是非常常见。那么在分布式系统中如何防止用户的重复提交操作?——我们需要做一定的防止重复提交和数据防重处理。今天就来简单的说下,在系统中如何防止重复提交和对数据库进行防重处理。一、重复提交解决思路思路:相同的请求在同一时间只能被处理一次。如
2021-07-08 11:10:39
1387
原创 SpringCloud-Alibaba微服务架构实战教程—24Gateway聚合knife4j文档
前言在Spring Cloud的微服务架构下,在我们之前的代码实现,07集成knife4j生成Api文档 中,是每个微服务都去引入了它,然后有自己的接口文档地址。像这样,总不能每个模块单独集成一个把?当有很多个模块的时候,是不是相应的也就产生了很多的地址呢?怎么解决这种问题呢?实际上,并不需要每一个项目都弄一个文档,根据网关成为了统一的服务接口的入口经验来看,我们也可以把文档,全部集成到一起,直接在网关一个地址就可以打开不同服务的接口文档,这样就可以更好的管理和使用了。所以,本章介绍微服务使用
2021-07-07 17:32:04
1847
原创 SpringCloud-Alibaba微服务架构实战教程—23JWT认证中心和cookie跨域共享方案
前言参考地址:https://gitee.com/soap9299/Authenticate/blob/master/doc/9.%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%EF%BC%88jwt%EF%BC%89/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%EF%BC%88jwt%EF%BC%89.md登录鉴权JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;官网:
2021-07-07 15:39:34
875
原创 SpringCloud-Alibaba微服务架构实战教程—22Dubbo与SpringCloud集成调用
前言在最初的微服务架构下,dubbo是大多数公司的选择,后来出现的springcloud,又让一些公司使用,面临老项目中采用的dubbo,如何结合springcloud呢?基于这样的问题,Spring Cloud Alibaba 推出的组件,可以使Spring Cloud 与 Dubbo 项目轻松的融合在一起,在SpringCloud项目和Dubbo项目之间互相调用。一、Dubbo(RPC框架)Dubbo是一个高性能、轻量级的开源Java RPC框架,在国内使用相当广泛。目前,dubbo生态不在断
2021-07-06 17:49:20
860
原创 SpringCloud-Alibaba微服务架构实战教程—21分布式事务解决方案
前言使用过电脑的不少朋友,基本上都会遇见一种情况,就是用着好好的电脑,突然一闪,就出现了满屏幕蓝字,让人抓狂。面对这种情况,我们往往会采用一个回退的解决方案,比如说,返回到上一次正确的配置。实际上,这也是一种回退操作,目的就是把系统调整到发生错误操作之前的状态。那么对于软件开发而言,也常常会遇到这样的情况,当执行业务到一定阶段,程序发生了异常,但是数据库已经产生了数据,此时,我们该如何处理让程序恢复到原来的样子呢?这就是今天要说的主角了——事务。一、怎么理解事务?事务可以简单理解为:要么一
2021-07-06 16:15:57
331
原创 SpringCloud-Alibaba微服务架构实战教程—20RocketMQ消息队列的使用
前言今天的主体,是消息队列的使用,在开始之前,就简单的说明几个要点问题,这样避免读者疑惑,消息队列是个很大的东西,不是三言两语就可以说清楚的,所以本文只选了部分要点进行简单的说明。有不足或者偏颇之处,望读者知悉。什么是消息队列?消息队列是指利用高效可靠的消息传递机制进行与平台无关的数据交流。为什么需要消息队列?首先,从系统之间要求有通信需求开始,就产生了消息队列的需要。其次,由于在高并发环境下,服务往往来不及同步处理大量请求,请求就会发生阻塞,比如说,大量的insert,update之
2021-07-06 12:28:39
495
1
原创 SpringCloud-Alibaba微服务架构实战教程—19分布式锁的大白话讲解
前言根据上一篇,18完善核心模块之后,我们对几个微服务模块进行了一定的完善,后续会继续增加方法。今天的话题,是另外一个知识点,一个在分布式下,必不可少的一个技术,就是分布式锁了。为什么需要分布式锁?在之前的文章中,我们采用了17分布式缓存redis设计,正是利用缓存,来提高系统的响应速度,但是同时,我们也提及到,使用缓存,在高并发下会带来的缓存穿透、雪崩、击穿的问题。那么怎么处理缓存穿透、雪崩、击穿的问题呢?对空结果进行缓存,用来解决缓存穿透问题。设置过期时间,且加上随机值进行过期偏移,用
2021-07-06 09:51:17
917
原创 一个智能省心的空空java代码生成平台上线了——前后端代码生成
一、前言今天这篇文章,是向大家推荐一款笔者研发的java web代码生成平台,它能为你节约不必要的开发时间,提升开发效率。不需要登录,不需要注册!不需要登录,不需要注册!不需要登录,不需要注册!二、空空java代码生成平台简介体验地址:https://java.iszoutao.com/。简单介绍:JavaCodeGenerator( 空空JAVA代码生成平台 ),又名空空JAVA代码生成器,是一个可以帮你自动完成SQL转JAVA、SQL转JPA、SQL转Mybatis、SQL转实体类的代码生成
2021-06-30 09:36:18
835
2
原创 Spring Cloud Alibaba微服务架构实战教程—18数据自动初始化
前言在前面的章节,都是在整合开发框架和集成各种组件,把这些东西搭建完毕之后,让我们的整体项目能有一个全貌,接下来,就该对我们的核心业务,进行一定的完善,把一些该用的方法,补充完整。资源模块的初始化前提条件:其中的ResourceStall 车位实体、以及它的相关层,都是由之前的MBG代码生成的章节,进行统一生成的,请读者自行先生成完毕。有时需要项目服务启动时加载一些数据或预先完成某些动作的情景,可以通过实现CommandLineRunner接口,或者实现ApplicationRunner接口
2021-06-29 09:37:29
451
原创 Spring Cloud Alibaba微服务架构实战教程—17分布式缓存下Redis设计
前言大多数的文章,开头就是告诉你使用redis做缓存,怎么怎么样,而本系列,不打算采用这样无趣的写法,这和直接搬运有什么区别?笔者力求读者能得到更大程度的系统学习,会从为什么使用缓存来给大家进行学习。问问大家,当系统的执行速度慢怎么办?对于更新速度不是很快的站点,可以采用静态化来避免过多的数据查询。通常前端使用Freemaker或Velocity、thymeleaf等模板引擎来实现 页面的静态化。对于更新数据频繁的站点,可通过 分布式缓存 来解决快速获取的查询,结合如Redis、MemCa
2021-06-15 16:31:22
1101
2
原创 Spring Cloud Alibaba微服务架构实战教程—16微服务对频繁ip访问限制
前言在系统上线后,为了避免一些爬虫或者是恶意请求,我们通常会对访问规律性强,访问速度过快,连续访问时间过长的ip地址进行访问限制,限流。比如一秒200次访问即视为非法,会阻止10分钟的访问。——可以通过ip + token方式进行限制。ip限制机制放在哪里?对于ip的限流机制,可以放在各个微服务内部来做,也可以放到gateway网关中来建立,这么多方案,到底放在哪来做限流比较合适呢?答案是:网关层,因为它是系统的最外层,限流放置在这层才最合适。在单体应用中,就是nginx层,可以利用ngin
2021-06-09 17:21:06
1088
原创 最新web/springboot打造通用的短信验证码微服务(详细)
前言鉴于很久之前的一篇文章, 最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细),截止到目前,依然有很多小伙伴,需要帮助,于是我再加一篇,让大家能更好的使用。(当然,两篇文章,依然都是有效的,就看你使用的是什么开发环境了)鉴于第一篇文章是用的一个第三方平台,很多小伙伴没有用过,所以本次实现短信验证码服务,挑选了国内两大运营商(阿里云、腾讯云),来实现手机短信功能。注意点:1.代码是最新版本的,很多博客写的都是低版本的,有些参数名称都变了。2.微服务短信业务实
2021-06-03 09:52:11
2856
20
原创 Javaweb/SpringBoot/SpringCloud/SpringCloud Alibaba后端的返回值类型
前言在很久以前,写过一篇关于Web开发中的 Model、ModelMap和ModelAndView的使用详解,当时也是本着一个记录的心情去写的,所以尽量通俗,没想到,截止到目前,仍然有很多小伙伴在阅读和学习这篇文章,这让笔者想到,不管是现在科技怎么发达,依然会有很多初学者,于是,就出了这篇扫盲文。目前SpringBoot框架的风头已经超过了当初的SSM框架,很多小伙伴甚至已经跳过了对SSM的学习,笔者还是建议去学习一下SSM,毕竟会SSM的人一定会SpringBoot,学习还是从基础来的好。在Sp
2021-06-01 19:14:38
650
原创 Spring Cloud Alibaba微服务架构实战教程—15最详细的Gateway统一网关
在分布式微服务架构中,会将服务进行拆分,不同的服务负责各自的业务功能,拆分后也有一个问题?每一个服务都有自己的服务名、ip、端口等,服务越多数量越多时,这样怎么记忆这么多的URL呢?此外,一些公共性的功能(如认证、鉴权、服务流控等)需要重复在各子模块中自身实现,造成的代码冗余怎么办??如图,诞生了一个统一网关,它将所有子服务封装起来,外部请求服务时,由网关统一调配URL和转发各个请求到不同的微服务去,并且可以在网关层针对所有公共性的功能作统一的处理,避免冗余。网关:流量请求的入口。
2021-05-31 19:11:13
58298
6
原创 Spring Cloud Alibaba微服务架构实战教程—14持久化与Nacos配置中心
前言在上一篇,13快速失败与熔断器 中,我们采用sentinel配置规则,来进行接口的流量控制,以及防范服务异常宕机时的快速熔断降级。值得一提的是,其中有一个小问题。问题描述:在我们配置好规则后,每次重启微服务,会发现上一次配置好的规则会丢失,怎么办呢?——持久化No,No,No,意思是将配置找个地存储起来。解决方案 : 将配置好的限流规则持久化到Nacos中进行保存。这样只要刷新某个接口地址,sentinel控制台的流控规则就自动看到,只要Nacos里面的配置不删除,针对于微服务接口的流
2021-05-31 10:08:09
768
原创 Spring Cloud Alibaba微服务架构实战教程—13快速失败与sentinel熔断机制
Hystrix作为熔断流量控制,在客户端实现,在方法上注解,当请求出错时可以调用注解中的方法返回,容错管理工具三者之间的关系图
2021-05-21 13:04:48
844
3
原创 Spring Cloud Alibaba微服务架构实战教程—12基于Nacos权重的负载均衡
前言提起负载均衡,很多人第一反应,肯定是最出名的Nginx了。本篇就边实战,边简要性的复习下负载均衡的知识。什么是负载均衡负载均衡(Load Balance),说白点就是,将各类负载进行平衡、分摊到多个操作单元上运行,保证了系统的高可用性。再给你说直白点,看图:在微服务或分布式系统下,假设A服务调用B服务,B服务部署在多台机器上,A发送多次请求到任意一个服务器均可完成调用,那么请求该发到具体哪个服务端号上,这个处理过程,就是一次负载均衡。这样好处就是使每台服务器不至于忙处理请求,导致瘫痪,将请
2021-05-18 10:13:26
827
原创 Spring Cloud Alibaba微服务架构实战教程—11服务的远程调用
无论是微服务架构还是分布式架构中,都存在一个基本问题——远程服务之间如何通讯?答案是,可以通过远程调用!那什么是远程调用呢?简单来说就是调用方和被调用方可能不在一个主机上,但是服务之间不可避免的需要互相调用其功能,因此称为远程调用。从微服务而已,A,B是两个不同的微服务。服务A要使用服务B的方法,需要调用它,服务A就是调用方,服务B被调用方。既然介绍了,什么是远程调用,那么远程调用方式都有哪些呢?一起走进今天的学习之路。2018年以前的微服务项目基本上都是使用Feign 组件。
2021-05-15 18:29:47
1147
原创 Spring Cloud Alibaba微服务架构实战教程—10集成nacos注册中心
前言如图,在微服务架构的系统中,当服务A调用服务B、服务C时,若服务A不知道B、C服务所在的服务器是可用还是不可用状态,就会不停发起请求做无用功。如何解决这类问题呢?——建立注册中心。一、什么是注册中心?注册中心主要保存了各个可用服务的网络地址,如ip和port等信息。在服务相互调用时,可以统一把服务名字都注册到中心,该中心则记录这些服务的不同名称和当前状态,通过心跳机制来动态感知服务的状态,以此来准确帮助服务之间的交互。二、注册中心的组件在SpringCloud架构中,可以作为注册中心的
2021-05-13 18:59:16
662
2
原创 Spring Cloud Alibaba微服务架构实战教程—09打造公共微服务的统一体系
前言完善公共微服务,主要是统一异常处理和响应与请求体。项目构建-统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档优秀的后端接口体系logback来生成日志一、公共工具包的完善在springcloud微服务架构中,common项目是不用部署的,maven的其他子项目依赖common服务,它只是用来提供其他子项目的共同部分,减少代码重复。所以,我们会把一些通用的功能,放到common项目中,比如mysql、mybatis、lombok、commons、fas
2021-05-12 21:58:53
1183
原创 Spring Cloud Alibaba微服务架构实战教程—08优雅的生成百万测试数据
前言在上一篇我们生成了7大微服务的基础代码,也采用 swagger生成了API文档 ,让开发过程中可以更好的调试和查看接口信息,在测试CURD方法时,数据太少让我们效率不高。一、如何生成测试数据?有过开发经历的小伙伴也有感触,有时我们需要在数据库中构建大量的基础数据(比如千万级别数据)来进行测试时,就比较难搞了。现在大多数的文章教程,通常都是采用如下两种方式来创建测试数据:方式一:编写java/python/shell代码,通过代码批量插入数据库,效率低。方式二:编写复杂的SQL存储过程
2021-05-12 11:43:14
1099
2
原创 Spring Cloud Alibaba微服务架构实战教程—07集成knife4j生成Api文档
Spring Cloud Alibaba微服务架构实战教程—07集成knife4j生成Api文档通过上一章的学习,我们在smartcar-message子项目中采用MBG插件来生成基础代码,为了加强对代码生成器的使用,我们这一篇,对另外一个子项目smartcar-member进行操作,巩固一下基础。代码生成首先是生成代码操作:在上一篇的message中借用一下配置环境来生成member的基础代码。打开message项目test下的mybatis-generator-config.xml文件。修改
2021-05-12 10:27:45
1466
2
原创 整合rocketmq/stream-rocketmq启动报错channel.AbstractMessageChannel问题
springboot整合rocketmq/stream-rocketmq启动报错spring boot、springcloud、springcloud alibaba项目整合rocketmq时。一启动就报错:Correct the classpath of your application so that it contains a single, compatible version of org.springframework.integration.channel.AbstractMessage
2021-05-07 11:12:54
1758
原创 Idea创建Spring Boot项目超时失败的解决方案及Maven改SpringBoot
前言说起IntelliJ IDEA 可谓是作为一名开发者必须知道的神器了,便捷高效,但不知道是升级了新的Idea软件,还是网络不通畅缘故,笔者这两天老遇到一个创建超时的问题。用 IDEA 创建 Spring Boot项目时总是失败,搞得我很郁闷,所以诞生了这篇小技巧文章!本文给出几种创建Spring Boot项目的解决或备选方案,让你再也不用创建不了Spring Boot项目而骂 IDEA了。接下来,好戏开场了~1.idea原生方式创建用过 IDEA企业版 的都知道,在新建项目时候,创建地址直
2021-04-23 10:06:16
3575
5
原创 Spring Cloud Alibaba微服务架构实战教程—06让你躺平的敏捷开发
一、前言在高速发展的今天,微服务通常是把一个大项目根据业务或其他方面划分为了诸多小项目,也就意味着这其中,会产生大量的重复操作,比如上文,建立子模块的步骤就来回进行了7-8次。假设有几十甚至上百个微服务,岂不是新建文件夹都非常的累人?在工作中需要新增大量对象时,岂不是会发生太多重复劳动?这是无法容忍的。所以,MyBatis官方开发了一款工具叫 MyBatis Generator 。它只需要少量简单的配置,就可以完成大量的表与Java对象的生成工作,拥有零出错和速度快的优点,让开发人员从重复劳动中解
2021-04-22 10:59:43
1059
原创 Spring Cloud Alibaba微服务架构实战教程—04项目地基之架构设计
前言前几篇将从客户需求、业务分析,模型设计,数据库设计等层面进行了梳理,那么接下来,就需要开始进行系统的架构设计。就好比盖房子一样,我们需要在搭框架之前,把图纸方案设计好,这样才能循序渐进,一步一步完成作品。那么关于架构功能。你是否想过,如果要开发一个系统,需要什么环境?需要什么软件?需要什么技术等问题?要把这些前期工作准备好,就得做出一个总体的架构设计。微服务架构微服务到底是什么呢?想必很多人还没有概念。拒绝做大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行,被称为微服.
2021-04-21 16:06:30
611
原创 Spring Cloud Alibaba微服务架构实战教程—03更全面的数据库设计
前言继前一篇文章,我们对业务需求进行了大致的分析,在加上绘制了基本的业务模型,从而根据业务层次,把 景停系统 划分为了七大模块。本篇开始之前,想问问大家,系统拆分为不同的微服务之后,那么存储用的数据库是否也有必要拆分吗?答案是有必要的。目前仍然有很多微服务团队,在开发时候,往往只是将服务拆分,存储仍共用一份数据库。这样做是不好的,因为微服务得以发展的原因之一就是解耦。因此,在实施微服务架构时,我们通常建议遵循一个实践原则:每个微服务要有自己独立的数据库,避免数据库层面的耦合,这样某个服务的数据
2021-04-20 22:32:47
1258
1
原创 Spring Cloud Alibaba微服务架构实战教程—02真实项目的需求分析
前言由于本项目涉及到知识点较多,希望大家可以先补下功课:IDEA,Spring,Spring Boot,MyBatis,MySQL,Linux,Docker等基础使用,非必须技能,纯属个人意见。好了好了,废话不多说,开始进入我们的正题。景停系统需求简介为了便于讲解,我给系统取了个名字叫 景停系统。需求场景:我们是一个扶贫景区,由于资金不是很充足,在很多周末带上家人朋友开车来玩的朋友,他们把车辆开到俺们小景区,目前停车场,是叫一个大爷搬着小凳子坐旁边招呼着,游客去景区消费回来(消费具体在基础需求
2021-04-20 19:18:31
2436
3
原创 Spring Cloud Alibaba微服务架构实战教程—01实战系列教程开篇
SpringCloud-Alibaba微服务架构实战教程—01开篇SpringCloud-Alibaba微服务架构实战教程—01开篇前言技术栈SpringCloud-Alibaba微服务架构实战教程—01开篇此项目源自智慧城市方案中的部分需求,是一个结合SpringCloud,SpringCloudAlibaba、Dubbo等技术栈,进行的微服务实战开发案例,长达3万多字的手把手教程,图文并茂,细节到极点,基本囊括了微服务架构中常用技能点,全面覆盖微服务中各种问题的解决方案,是新手入门、初中级开发提升
2021-04-19 17:28:18
2910
8
原创 java字符串差异比较工具类
java字符串差异比较工具类场景比如说,前后授权对比,两个字符串的差异对比,比较前后两次字段的差异情况等等场景。工具类工具类源码:package com.bonc.modules.sys.controller;import com.bonc.modules.sys.entity.SysUserTenant;import org.jeecg.common.util.oConvertUtils;import java.util.*;/** * 两个字符串的内容差异对比 * * @A
2020-07-30 11:07:21
3396
原创 java/web/springboot项目使用WebSocket消息推送
不说废话,三言两语告诉你啥是WebSocket?最近项目中,有消息推送和在线咨询的功能,以前也没搞过啊,有些小伙伴估计也是,那肯定要赶紧学习起来啊~不说废话,今天就告诉你啥是WebSocket?1、WebSocket 与 HTTP先说HTTP,http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。(一句话:客户端是主动的,服务器是被动的,还需要三次握手。)首先,WebSocket是一种网络传输协议,在2008年诞生,2011年成为国际标准。现在
2020-07-22 16:08:10
2391
原创 用了MyBatis就不会发生SQL注入风险吗?
用了MyBatis就不会发生SQL注入风险吗?SQL注入问题是很久的事情了,而且现在mybatis,hibernate等框架使用较为成熟了,但是作为一个T新手肯定要对一些本质上的安全问题从新从头梳理一下。本文主要说SQL注入中的Statement对象,PreparedStatement对象,和mybatis的注入风险 \color{red}{本文主要说SQL注入中的Statement对象,PreparedStatement对象,和mybatis的注入风险 ~}本文主要说SQL注入中的Sta
2020-05-17 00:48:49
5345
原创 MyBatis-Plus的一些高级干货
MyBatis-Plus的一些高级干货MyBatis Plus(简称 MP)是一个 MyBatis 的增强版,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。记住:对MyBatis只做增强不做改变,引入它不会对现有工程产生影响\color{red}{对MyBatis 只做增强不做改变,引入它不会对现有工程产生影响}对MyBatis只做增强不做改变,引入它不会对现有工程产生影响mp官方文档:https://mp.baomidou.com/guide/1.MyBatis-Plus
2020-05-16 20:14:40
2440
原创 BeanUtils优雅的set和get赋值操作
BeanUtils优雅的set和get赋值操作今天博主任务是webservice接口的开发,拿到甲方给过来的接口文档,里面一百多个字段。需要赋值操作~需求场景今天博主任务是webservice接口的开发,拿到甲方给过来的接口文档,里面一百多个字段。于是打开之前的别人的webservice接口,其中moldrepairSync方法,如下:居然长达100多个字段,挨个set,get赋值,OMG,当时我和我的小伙伴都惊呆了~这写完怕是手都断了~~~~思考我们知道,一个JavaBean通常包
2020-05-10 13:19:00
2528
原创 java/web/springboot数据修改历史记录设计
web/springboot数据变更历史记录设计在一些领域,记录数据的变更历史是非常重要的。比如人力资源系统…需要记录个人的成长历史。再比如一些非常注重安全的系统,希望在必要时可以对所有的历史操作追根溯源,有据可查。1.前言比如,修改一个人的姓名从“张三”变为了“李四”,那么在进行记录的时候,记录的信息可能如下: 姓名:(张三)=>(李四);如图:这样就很好的体现出了修改了哪个字段,修改前后的数据分别是什么。关键的信息无论怎么修改都会有据可查,时间、人物、修改数据前后信息等。
2020-05-10 11:29:17
11861
47
原创 Hadoop当下最简洁的大数据各种技术介绍与总结
当下最简洁的大数据各种技术介绍与总结当下最简洁的大数据各种技术介绍与总结1.大数据的发展历史1.1 启蒙阶段:数据仓库的出现1.2 技术变革:Hadoop诞生1.3 数据商业化:数据湖系统1.4 数据工厂时代:大数据平台兴起1.5 数据价值时代:数据中台2.大数据的核心概念2.1 什么是大数据?2.2 什么是数据仓库?2.3 传统数据仓库 vs 新一代数据仓库3.大数据平台的通用架构3.1 数据传...
2020-04-20 23:12:04
3107
1
原创 基于Spring AOP的统一响应体的实现(注解版)
基于Spring AOP的统一响应体的实现(注解版)一、前言在上一篇系列中 我们 统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档,对于统一数据响应返回规范那里(5. 统一结果响应),我们写的方式不采用注解的,介于springboot中注解的使用较为频繁,特意增加一个自定义注解版本来完成的统一响应的操作。二、思路使用Spring的Control...
2020-04-16 21:49:40
1922
1
2014年下半年软件设计师考试上午真题与答案高清PDF版(标准参考答案)
2017-11-02
Al人工智能深度学习神经网络入门介绍教程ppt-邹涛
2017-11-02
OpenOffice实现前端在线预览office所有文档的lib包
2018-05-13
SSM搭建的商品管理系统Commodity_system源码
2018-04-24
office 2010_完美卸载工具,office卸载工具,清除注册表。
2017-11-02
jquery-bootstrap管理系统全屏背景轮播代码
2017-12-13
web项目使用OpenOffice实现前端在线预览office、pdf等文档源码
2018-05-13
DiffMerge_4_2_0_697_stable_x86,代码对比工具
2018-02-23
easyUI1.3 中文之官方文档
2017-11-02
S-mall-ssm.zip
2019-11-05
SSM框架使用Echarts动态数据可视化
2018-07-14
最新web/springboot打造的通用短信验证码微服务
2021-06-03
开发素材5000个定义的easyui 小图标库
2018-09-26
微信小程序开发之服务器图片接收PHP版
2018-05-13
Spring Boot实战实现登录国际化
2018-12-04
SSM商品管理系统Commodity_system2.0版本
2018-11-13
截图文字提取工具V3.80
2021-04-22
Jsp+Servlet+Echarts实现动态数据可视化
2019-02-13
最新Browsec插件的chrome离线安装包.rar
2021-09-10
asp实现word excel ppt pptx PDF 5种文件的转换和预览
2018-05-13
smartcar最新Spring Cloud Alibaba实战开发教程
2021-07-12
web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能
2019-02-23
python_web 使用django框架完成个人博客管理系统(前端+后台)源码,附数据库
2019-05-05
python3多线程爬虫汽车之家批量下载图.py
2019-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅