自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Swagger2

Swagger简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。作用:接口的文档在线自动生成。功能测试。Spring boot集成Swagger新建一个springboot项目添加Maven依赖<!--Swagger2依赖 --><dependency>

2021-06-28 16:12:13 274

原创 MyBatis-Plus

1、简介​ MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。​ 官网地址:MyBatis-Plus文档2、特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类

2021-06-27 19:30:09 226 1

原创 SpringCloud之消息总线组件及微服务网关

消息总线组件 Spring Cloud Bus单个工程更新有了配置中心,我们就可以吧配置文件放到git上来统一管理了,但是如果配置文件发生了变化,客户端 又如何更新呢?1.在配置文件中增加自定义属性person: id: 1 name: 李四2.在customer-provider工程中的 Controller 中增加@Value注解引用属性@RestControllerpublic class MyController { @Value("${person.nam

2020-08-08 00:46:41 669

原创 SpringCloud之熔断器及集中配置组件

熔断器Hystrix1.雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不 可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者,红色代表不可用。随着时间的推移,A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成了。雪崩产生的过程 :正常情况 , 一个请求进入C

2020-08-06 19:35:26 599

原创 SpringCloud之微服务调用OpenFeign

工程搭建首先我们需要先创建以下模块common-pojo:存放项目的pojo类。common-dao:存放与数据库相关的持久层代码和配置文件,比如mybatis的mapper接口和文件。eureka-server:用来启动注册中心,具体请看 注册中心。customer-provider:用来提供服务,注册服务。customer-consumer:用来调用服务,处理业务。上面pojo和mapper具体操作代码就不写了,就是简单的增删改查,可以通过mybatis逆向工程生成

2020-08-03 21:29:55 428

原创 SpringCloud简介及注册中心Eureka

一、SpringCloud简介1.简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基 础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开 发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂 的配置和实现原理,最终给开发者留出了一套简单易懂、易部署

2020-08-01 15:45:45 1500

原创 SpringBoot进阶

SpringBoot配置文件YMLYAML不是一种标记语言,通常以.yml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,一种专门用来写配置文件的语言。YML是代替XML的最优解决方案,语法简洁,清晰易读,跨平台性和扩展性良好好,可以表达复杂的数据结构;基本语法:1.数据以key: value键值对的形式存储需要强调的是冒号后面必须有一个空格name: lbb2.不区分数据类型name: l

2020-07-29 23:28:02 334

原创 Springboot入门

什么是SpringbootSpringboot 是一个用于加速构建基于Spring的应用程序的框架,你可以把他叫做Spring集成框架,Spring敏捷开发框架;Spring boot,让创建一个可用于生产级别的Spring应用程序变得非常简单,大多数Springboot应用程序需要仅最少的Spring配置。ok,可以看得出Springboot并不是提供了某种新功能而是,将原来繁琐的框架整合变得更简单了;这样一来我们便可以专注于务逻辑的实现;为什么需要Springboot以往在开发一个基于Spri

2020-07-24 21:57:45 157

原创 dubbo监控中心

Dubbo-admin管理控制台目前还没有正式发布,但是源码已托管在github上,我们可以自行下载使用;目前的管理控制台已经发布0.1版本,结构上采取了前后端分离的方式,前端使用Vue和Vuetify分别作为Javascript框架和UI框架,后端采用Spring Boot框架。既可以按照标准的Maven方式进行打包,部署,也可以采用前后端分离的部署方式,方便开发,功能上,目前具备了服务查询,服务治理(包括Dubbo2.7中新增的治理规则)以及服务测试三部分内容。因为是源码,所以我们如果是开发过程的话

2020-07-21 16:01:25 235

原创 Dubbo进阶

注册中心zookeeper什么是注册中心注册中心就是用来存储服务信息的地方,就像房屋中介一样;为什么需要注册中心我们使用了客户端与服务器直连的方式完成了服务的调用,在实际开发中这会带来一些问题,例如服务器地址变更了,或服务搭建了集群,客户端不知道服务的地址,此时注册中心就派上用场了,服务提供方发布服务后将服务信息放在zookeeper中,然后消费方从zookeeper获取服务器信息,进行调用,这样就使提供方和消费方解开了耦合,也让服务提供方可以更方便的搭建集群;使用注册中心1.启动zookeep

2020-07-19 18:13:31 263

原创 Dubbo入门

什么是DubboDubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。什么是RPCRPC全称(Remote Procedure Call)远程过程调用过程指的是某个代码片段的执行,远程调用则意味着我们可以在其他进程,甚至其他机器上去调用这段代码,当然也能获取到其执行后的返回值,按照这个定义,我们请求某个http地址得到相应数据其实也算一次RPC,但是这样的方式太过麻烦,(数据要先打包成http请求格式,在调

2020-07-17 20:02:45 297

原创 Maven每次新建项目都要重新设置Maven配置

idea每次创建时都需要重新设置maven,但是我明明在setting设置过了:解决办法注意:设置的时候是进入Settings For New Projects,而不是Settings:在这里面再设置一下就好了:这样就解决了!!!...

2020-07-17 14:57:32 1299

原创 Zookeeper实现服务注册发现

Zookeeper实现服务注册/发现服务注册中心​ 之所以需要访问注册和服务发现是因为分布式系统中,服务之间需要相互调用,但若每个服务自己维护一份依赖的服务信息的话,就显得很麻烦,且自身维护的数据无法保证其实时性,当依赖的服务信息发生变更时,无法及时获取更新,解决方案就是引入一个注册中心,服务提供方将自己的信息写入到注册中心,服务使用方从注册中心来获取服务信息; 如下图:​ client表示服务使用方,server表示服务提供方。客户端可自动发现服务信息,当服务状态发生变化时(上线

2020-07-16 00:12:34 685

原创 Centos下Zookeeper的安装部署

1.安装jdkzookeeper是采用java开发的,所以需要依赖jdk环境,我们需要先安装jdk,最便捷的方式就是采用yum,但是yum的官方源速度很慢,我们可以先更换yum源;#备份初始源 #备份初始源配置mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup#下载新的阿里镜像源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.a

2020-07-14 18:14:32 1319

原创 linux中设置固定ip

1.查看ip,输入ifconfig进行查看,如果出现-bash: ifconfig: 未找到命令 可使用以下命令安装:#查找yum search ifconfig#安装yum install net-tools.x86_64输入后会展示出ip地址和子网掩码2.输入 vi /etc/sysconfig/network-scripts/ifcfg-ens33命令。修改网卡配置文件按 i 键进行编辑。修改入下,原有的配置不要删,只要按下面修改就好。没有的配置项新增上去就好打开以后可以看

2020-07-13 15:54:37 1161

原创 Redis—java客户端及事务

Redis—java客户端​ Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作。现在基本上主流的语言都有客户端支持,比如Java、C、C#、C++、php、Node.js、Go等。​ 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis等,其中官方推荐使用Jedis和Redisson。在企业中用的最多的就是Jedis​ 在这里对Jedis和Redisson进行对比介绍:Jedis:轻量,简洁,便于集成和改造支持连接池支持p

2020-07-12 20:31:38 717

原创 Zookeeper入门

Zookeeper入门什么是Zookeeper​ ZooKeeper是分布式应用程序的分布式协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、集群管理等为什么需要zookeeper随着业务发展,单机系统处理能力达到上限,就需要对系统进行扩展,假设我们需要将数据库扩展为主从结构,客户端需要知道数据库节点中主节点的位置,而当主节点发生故障时我们需要将从节点设置

2020-07-10 22:48:11 204

原创 Redis进阶-主从,哨兵,集群

主从复制master-slave主从同时运行多个redis服务端,其中一个作为主(master),其他的一个或多个作为从(slave),主从之间通过网络进行通讯,slave通过复制master的数据来保持与master的数据同步,实现数据冗余;在Redis中,配置主从复制非常简单,Redis允许slave实例对master进行完整拷贝,在连接断开时,slave会自动重新连接至主实例,并尽可能与master保持同步;三个主要机制当连接可用时,master将发送命令流到slave来使salve保持更

2020-07-10 17:37:37 341

原创 redis数据类型以及相关操作的补充

命令含义与数据类型无关KEYS pattern获取当前库中所有匹配的key,可用* ,[]EXISTS key判断key是否存在DEL key删除某个键值对TYPE key获取数据类型rename oldkey newkey对 key 重命名,如果 newkey 存在则覆盖renamenx oldkey newkey对 key 重命名,newkey 存在则取消操作randomkey随机返回一个keymove key db-i...

2020-06-16 16:14:32 169

原创 Redis入门

Redis是什么?Redis是一款开源的内存数据结构存储,用作数据库,缓存和消息中间件,支持多种数据结构,如:strings,hashes,lists,sets,带有范围查询的sorted sets ,bitmaps,hyperloglogs,带有半径查询的geospatial Indexes,和stream;Redis内置了的主从复制,事务,以及不同级别的持久化功能,并通过Sentinel和自动分区的Cluster提供了高可用性;在redis中可以对这些类型进行原子操作(线程安全);为了获得优秀的

2020-06-14 15:19:36 228 1

原创 CentOS 7下安装Redis

安装xshellXShell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNET协议。XShell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。由于在虚拟机中操作Linux系统需要频繁切换鼠标,缺乏个性化设置,不支持中文显示,所以我们将使用XShell来连接并使用安装好Linux系统的虚拟机。下载地址:xshell,提取密码:tsvx运行:打开CentOS 7:输入ip

2020-06-14 11:16:30 246

原创 windows下使用VMare安装CentOS7

安装VMare虚拟机的下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示。上面是下载界面,网络不好的情况下可以在我的网盘下载:VMare ,提取码:t757安装点击.exe文件进行安装:在这里配置你的安装位置:VMware15激活需要激活,激活方法很简单,可以自行搜索,不再展示。安装centos7centos7下载阿里云镜像下载地址:centos7下载VMare安装centos7打开VMare:

2020-06-14 09:30:55 212

原创 日志框架 log4j2

概述logging翻译为日志记录是什么是日志?日志实际上是日记的一种,用于记录某个时间点发生了什么事情,比如教学日志,工作日志等为什么要记录日志?在实际生活中记录日志主要为了日后复查程序中的日志我们的程序开发完成后会被不同系统环境的用户下载使用,期间可能就会出现问题,直接把错误信息展示给用户看是没有任何意义的,用户看不懂也不会解决,那这时候就可以将用户执行的所有操作,以及代码运行的过程,记录到日志中,程序员通过分析日志内容,可以快速的定位问题综上: 日志就是用来记录发生的事件的 ,并不会立即

2020-06-12 16:05:17 449

原创 idea配置gitee、上传项目、更新项目

安装git首先先安装git本地工具:点击这里根据需要选择版本:安装成功后,在桌面鼠标右键就会看见Git Bash和Git GUI,打开Git Bash,进入bash界面。注册邮箱在git bash界面输入如下内容即可完成邮箱的注册: $ git config --global user.name "user.name"(说明:双引号中需要你的用户名) $ git config --global user.email "你的邮箱"说明: 双引号中需要输入你的有效邮箱)创建ssh k

2020-05-30 10:36:05 37554 11

原创 SpringMVC开发RESTful接口

概念什么是REST?REST是Representational State Transfer的缩写。翻译为"表现层状态转化",restful是一种接口设计风格,它不是一个协议,通常是基于HTTP协议的;为什么需要这么⼀个⻛格呢?RESTful的重点之一就是统一的接口命名规则; 每个开发者可能会有不同的接口风格,最常见的就类似于于 getUserInfo,deleteUserInfo等等…,但是这个纯粹是跟每个 开发者的习惯有关,多人协同开发时就可能会产生问题,特别是 前后台分离时,前台人员不得不填写

2020-05-25 21:57:21 321

原创 SpringMVC返回类型

handler返回值handler方法可以是三种类型的返回值,用于不同场景ModelAndView返回值为视图和数据的包装类型,用于返回逻辑视图名称和视图需要展示的数据等同于在Request中添加了属性,然后进行了请求转发比如:@RequestMapping("/test")public ModelAndView test() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("

2020-05-24 20:49:41 409

原创 SpringMVC 参数映射与文件上传

SpringMVC 参数映射与文件上传hander参数映射当我们要实现一个登陆功能时:创建一个用于处理登录请求的Servlet实现doget等其他http方法(一些情况可能根据业务需要限制请求方法)从request对象中取出数据处理编码验证参数是否符合要求对参数数据类型进行转换(需要时)开始业务逻辑处理(登录)可能需要操作session来完成组织响应给数据,可能是html可能是json,异常处理Header与cookie的处理整个SpringMVC其实就是帮我们对上面的操作进

2020-05-23 16:15:58 405

原创 SSM整合

整合步骤1.准备空的web项目,添加依赖2.在web.xml中配置Spring容器3.在web.xml中配置SpringMVC核心控制器4.整合MyBatis与Spring添加pom依赖<dependencies><!-- spring + springwebmvc--> <dependency> <groupId>org.springframework</groupId> <artif

2020-05-20 22:03:30 182 1

原创 SpringMVC简介

概述首先SpringMVC 是一个MVC构架模式的web框架,是基于Servlet的,SpringMVC依然使用多线程同步并发的方式来处理请求,从测试数据来看异步并发效率的确更好,但是其并不成熟,盲目的进行重构可能会引发更多的问题, 并且异步编程在代码结构上会产生较大的变化。构架图:SpringMVC在系统的位置:可以看出SpringMVC 并没有代替Servlet,它只是在Servlet上提供了一套封装好的组件,提高开发效率;还使得开发出的项目更加规范;否则每个人可能有每个人不同的MVC;

2020-05-12 19:52:51 707

原创 Spring 环绕通知 ProceedingJoinPoint参数 方法介绍

获取的实体类Object target = point.getTarget();获取的方法名称String methodName = point.getSignature().getName();获取的方法参数Object[] args = point.getArgs();获取的参数类型Class[] parameterTypes = ((MethodSignature)poi...

2020-05-05 11:06:59 3321

原创 Spring 事务处理

本质事务是一组sql语句的集合,事务具有原子性(同步,即要么全部执行,要么全部不执行)、一致性(事务执行完之后表里面的约束等不变)、持久性(一旦提交不能再被撤销),隔离性(两个事物之间是隔离的,互补干扰,是通过加锁实现的)。数据库操作最终都要使用到JDBC,那么无论上层如何封装,底层都是调用Connection的commit,rollback来完成事务处理弊端数据访问层(DAO)必然需要进...

2020-05-04 18:30:13 251

原创 mybatis逆向工程匹配到不同数据库下同名表

[WARNING] Table Configuration product matched more than one table (demo..product,shop..product,sms..product)原因mybatis再匹配表的时候,把其他数据库的同名表也匹配,并且生成在同一个mapper文件里,所以生成的时候成功,但是使用时会报错,因为标签id重复解决办法方法一:在你...

2020-05-01 22:52:26 708

原创 Spring详解之bean管理

IOC容器工厂只负责创建对象,而Spring当然不仅仅是一个对象工厂;其核心是一个对象容器,由于具备控制反转的能力,所以也叫它IOC容器;容器可以理解为存放对象的地方,当然不仅仅是存储,还有对象的管理,包括-创建-销毁-装配; 这样原本程序要做的事情交给了Spring,所以这属于IOC,称之为IOC容器;Spring有两个容器接口ApplicationContext和BeanFactory ...

2020-05-01 22:36:04 454 2

原创 Spring详解之AOP

Spring整合单元测试在前面的案例中我么需要自己创建ApplicationContext对象,然后在调用getBean来获取需要测试的BeanSpring提供了一种更加方便的方式来创建测试所需的ApplicationContext,并且可以帮助我们把需要测试的Bean直接注入到测试类中添加依赖:<dependency> <groupId>org.sprin...

2020-05-01 22:32:34 237

原创 Spring简介

什么是SpringSpring是一个开源的,轻量级Java开发框架; 其核心特性是可以用于开发任何 Java 应用程序,Spring 框架的目标是使 JavaEE应用程序的开发变得更加容易,核心概念是IOC和AOP;这也是学习Spring的重点所在;Spring不是针对某个具体功能,具体层级的框架; 也就是说以前该有的系统分层,结构,设计模式都不需要改变,而是让Spring加入进来,让开发变得...

2020-04-25 16:25:37 297 1

原创 同步与线程安全

什么是线程安全?多个线程共享同一个全局变量或静态变量,在做写操作的时候,可能会受其他线程干扰,导致数据有问题,这种现象叫线程安全。在读的时候不会出现这种情况。如何保证线程安全使用线程同步:synchronized:自动锁lock: jdk1.5里面的,手动上锁,手动释放锁同步-synchronized可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的...

2020-04-23 15:59:02 1419 2

原创 mybatis之注解开发与逆向工程

注解开发MyBatis 最初是一个 XML 驱动的框架。配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的。随着技术的更新发展,对于开发效率要求也原来越高,特别是一些小型项目;越来越多的框架开始支持注解。到MyBatis3时,MyBatis对注解有了完善的支持,利用注解可以在一些情况下提高开发效率但不幸的是,Java 注解的的表达力和灵活性十分有限。尽管很多时间都花在调查、设计...

2020-04-20 12:55:01 310 1

原创 mybatis详解

上一篇中,我写了mybatis框架,以及基础用法,不了解的可以转至:mybatis基础这篇我们继续上篇进行配置文件的详细讲解XML的配置MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:> configuration(配置) >> properties(属性)--重点 >> settings(...

2020-04-19 20:59:18 579 1

原创 idea控制台中文乱码问题

对于idea中文乱码文题主要是由于我们设置的编码方式和idea默认的不一样,在此看下数据库是不是UTF-8并且没有乱码,对于idea有以下解决办法:打开IntelliJ IDEA>File>Setting>Editor>File Encodings,将Global Encoding、Project Encoding、Default encodeing for proper...

2020-04-18 17:54:13 443 1

原创 mybatis基础

MyBatis是java平台下一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,简单普通的 Java对象)映射成数据库中的记录。特点1.轻量级⾃...

2020-04-17 22:18:23 508 1

空空如也

空空如也

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

TA关注的人

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