自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用Mybatis-plus实现两个表联合查询分页

1、多对一的映射关系package com.second.client.pojo.entity;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.Tabl

2021-07-24 20:39:15 3806 1

原创 Sentinel

1、什么是SentinelSentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 分为两个部分:核心库(Java 客户端) 不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo /Spring Cloud 等框架也有较好的支持。控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat

2021-07-15 22:22:09 263

原创 java面试题(java基础部分)

1、容器1)java容器都有哪些?CollectionListArrayList

2021-07-12 21:26:15 227

原创 Swagger2接口文档

1、什么是Swagger接口文档相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,经常会抱怨别人写的代码没有写注释,然而自己写起代码起来,最讨厌的,也是写注释。所以仅仅只通过强制来规范大家是不够的,随着时间推移,版本迭代,接口文档往往很容易就跟不上代码了。发现了痛点就要去找解决方

2021-07-12 21:25:15 725

原创 NacosConfig配置中心

1、服务配置中心介绍首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境–开发环境 测试环境 线上环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动 维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,

2021-07-09 19:28:41 197

原创 Sleuth链路追踪

1、链路追踪介绍在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题:如何快速发现众多微服务中的问题如何快速判断故障影响范围如何梳理服务依赖以及依赖的合理性如何分析链路性能问题以及实时容量分

2021-07-09 19:09:05 380

原创 SpringCloudGateway自定义全局过滤器实现登录验证

1、首先自定义一个类,实现GlobalFilter和Ordered接口2、重写filter和getOrder方法3、在filter方法中,使用参数exchange获取请求对象和响应对象ServerHttpRequest request = exchange.getRequest();ServerHttpResponse response = exchange.getResponse();4、使用请求对象request,分别获取请求的路径和请求参数中token的值// 获取请求路径String

2021-07-09 14:55:18 3664

原创 Gateway服务网关

1、服务网关简介在微服务的体系架构中,一个系统被分成许多个微服务,那么作为客户端如何去调用这些微服务呢?如果没有服务网关的存在,客户端之能记住每个微服务的ip地址,大量的微服务就对应大量的ip地址,若记住这些IP地址是不现实的事情;所以这样的微服务架构存在着一些弊端:客户端多次请求不同的微服务,增加客户端代码或配置的编写难度认证复杂,每个服务都需要单独认证,增加了代码的冗余性存在跨域请求,在一定场景下处理复杂对于上述出现的问题,可以通过API网关来解决、什么是API网关所谓的API网关

2021-07-08 19:18:31 326

原创 Nacos注册中心、Ribbon负载均衡、OpenFeign服务调用

1、Nacos注册中心1)什么是NacosNacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 SpringCloud Alibaba 组件之一,负责服务注册发现和服务配置,可以这样认为nacos=eureka+config。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。2)搭建N

2021-07-07 16:54:49 1458

原创 SpringCloud简单项目搭建

1、创建父工程首先创建一个maven项目作为父项目然后在pom.xml文件中导入以下依赖<!--引入父依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEAS

2021-07-06 21:08:53 288

原创 Vue简单入门

1、第一个Vue示例1)创建一个html文件<!doctype html><html> <head> <meta charset="utf-8"> <title></title> <!--引入的本地vue.js文件--> <script src="./vue.js" type="text/javascript"></script> </head> <bo

2021-07-01 20:50:17 192

原创 Redis常用命令

1、Redis操作命令1)沟通命令,查看状态启动客户端,输入ping,Redis给我们返回PONG,表示服务正常运行127.0.0.1:6379> pingPONG2)查看当前数据库中key的数目dbsize:作用返回当前操作的数据库中的key的数量,返回值类型为integer127.0.0.1:6379> dbsize(integer) 33)切换数据库Redis默认操作16个数据库,在redis.cong配置文件中可以看到使用select index可以切换数据库,

2021-06-26 17:26:14 17612

原创 Jenkins

一、敏捷开发与持续集成1)什么是敏捷开发敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。2) 什么是持续集成因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业的持续集成工具来管理持续重复的工作。二、持续集成工具1)Je

2021-06-24 20:23:02 111

原创 Redis安装和简单使用

1、Redis介绍1)什么是RedisRedis 是当今非常流行的基于 KV 结构的作为 Cache 使用的 NoSQL 数据库Remote Dictionary Server(Redis) 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的 Key-Value 数据库. Key 字符类型,其值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,每种数据类型有自己的专属命令。所以它

2021-06-24 17:33:53 102

原创 Nginx动静分离、高可用集群

1、动静分离1) 什么是动静分离通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送一个请求,比对服务器该文

2021-06-23 16:58:19 166

原创 Nginx入门

1、什么是Nginx没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个WEB服务器

2021-06-22 16:19:30 143

原创 分页插件&Thymeleaf

1、分页插件PageHelper1)在springboot项目的pom.xml文件中引入相关依赖<!--分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <

2021-06-21 19:40:20 825

原创 SpringBoot项目添加定时器

一、引入定时器的依赖<!--定时任务依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>二、自定义一个任务类@Componentpub

2021-06-21 18:46:57 263

原创 SpringBoot项目集成Mybatis-plus

1、Mybatis-plus简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。2、Mybatis-plus特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过

2021-06-21 17:46:35 659

原创 SpringBoot自动装配原理

1、自动扫描包1)在springBoot项目中,主启动类上的@SpringBootApplication注解是核心,而这个注解主要是由@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan这三个注解组成@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM

2021-06-19 17:20:17 77

原创 SpringBoot注册web三大组件

1、注册Servlet组件1)创建自定义的Servlet类,并继承HttpServletpublic class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req,resp); }

2021-06-18 21:36:25 176

原创 SpringBoot整合数据源

1、使用JDBC1)在pom文件中导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId>

2021-06-18 17:19:13 164

原创 SpringBoot中常见的配置文件

1、配置文件类型SpringBoot使用一个全局的配置文件,配置文件名是固定的;•application.properties•application.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;2、基本语法2.1properties配置文件的基本语法举例#设置端口号server.port=8080值的写法student.name=lisistudent.age=18对象、Map(属性和值)(键值对)写法:stu

2021-06-18 17:01:20 717

原创 深入解析SpringBoot父项目与主启动类

1.pom文件我们创建的SpringBoot项目中的pom.xml文件中都依赖了SpringBoot的父项目<!--继承springboot父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <vers

2021-06-18 16:06:41 1139

原创 使用Maven创建SpringBoot项目

1. 使用maven创建一个项目2. 导入SpringBoot依赖<!--继承springboot父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.1</vers

2021-06-18 15:37:36 205

空空如也

空空如也

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

TA关注的人

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