自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring Boot整合Zookeeper实现配置中心

简介使用背景说到配置中心,目前市面上用的较多的配置中心都广为人知,比如百度的Disconf、Spring Cloud Config、携程的Apollo、阿里的Nacos等。由于项目组一直是使用的zookeeper作为配置中心,所以来学习使用。实现原理在Zookeeper建立一个根节点,比如/CONFIG,代表某个配置文件。将配置文件中的信息作为根节点的子节点存储,比如配置项timeout=3000,在Zookeeper中展现为:/CONFIG/timeout,节点内容是3000。然后让所有使用到

2020-06-30 18:02:34 5447

原创 Spring Boot整合阿里云存储OSS

OSS简介OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据,非常方便。使用前需要先注册开通阿里云存储服务。官方网站:https://oss.console.aliyun.com/阿里云对象存储OSS(Object StorageService)是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。OSS具有与平台无

2020-06-29 17:12:33 877

原创 Spring Boot整合Neo4j

Neo4j简介Neo4j是一个世界领先的开源图形数据库。 它是由Neo技术使用Java语言完全开发的。本教程将教你Neo4j的基础知识,Java与Neo4j和Spring DATA与Neo4j。 Neo4j是一个高性能的,NOSQL数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事物特性的java持久化引擎。Neo4j也可以看作是一个高性能的图引擎,该引擎具有成熟数据库所有特性。在属性图中,图由顶点(节点),边(关系),属性组成,每个顶点和边都可以有一个或多个属

2020-06-28 17:03:05 753

原创 Spring Boot整合Redisson

Redis与Redisson什么是Redis?Remote Dictionary Server(Redis)远程字典服务器是完全开源免费的,用C语言编写的,遵守BSD开源协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NoSQL数据库,它也通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。与传统数据库不同的是 Redis 的数据

2020-06-27 17:10:41 420

原创 Spring Boot整合ActiveMQ

ActiveMQ简介ActiveMQ是Apache出品的,非常流行的消息中间件,可以说要掌握消息中间件,需要从ActiveMQ开始,要掌握更加强大的RocketMQ,也需要ActiveMQ的基础。什么是消息中间件:消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。安装使用去官方网站官方网站:http:

2020-06-26 16:34:48 205

原创 Spring Boot整合JOOQ(入门学习)

简介JOOQ(Java Object Oriented Querying),是基于Java的轻量级数据库访问库,通过特定的语法将类以及数据库模式翻译成对应的SQL语句实现实体与关系的映射。JOOQ具有如下的特点:继承了ORM框架的优点,简单操作,类型安全等。jOOQ将SQL建模为内部DSL,使用Java编译器编译SQL语法,元数据和数据类型。JOOQ会根据数据库的元数据来生成对应的实体类,省略了原有开发中不断修改对应数据库的类名,属性名。JOOQ允许运行时配置数据库模式,且支持行级别的安全。 支

2020-06-25 16:59:24 1392

原创 MySQL中索引相关知识小结

索引索引是什么MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构。Mysql索引主要有两种结构:B+Tree索引和Hash索引。我们平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(B+Tree索引)。索引分类主键索引: 数据列不允许重复,不允许为NULL,一个表只能有一个主键。唯一索引: 数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。普通索引: 基本的索引类型,没有唯一

2020-06-24 17:15:56 150

原创 Unsafe类学习

简介Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法。Unsafe提供的API大致可分为内存操作、CAS、Class相关、对象操作、线程调度、系统信息获取、内存屏障、数组操作等几类。如若想使用这个类,该如何获取其实例?有如下两个可行方案。其一,从getUnsafe方法的使用限制条件出发,通过Java命令行命令-Xbootclasspath/a把调用Unsafe相关方法的类A所在jar包路径追加到默认的bootstrap路径中,使得A被引导类加载器加载,从

2020-06-23 18:49:02 198

原创 Linux命令学习之NetCat(nc命令)

简介NetCat,在网络工具中有“瑞士军刀”美誉,因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。官方网站:http://netcat.sourceforge.net/使用安装以centos7为例:[root@localhost ~]# yum install nmap-ncat.x86_64为了验证是

2020-06-22 15:03:15 452

原创 Spring Cloud 组件入门学习---Security

简介Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结合Oauth2可以实现单点登录、令牌中继、令牌交换等功能,OAuth 2.0是用于授权的行业标准协议。OAuth 2.0为简化客户端开发提供了特定的授权流,包括Web应用、桌面应用、移动端应用等。OAuth2 相关名词解释Resource owner(资源拥有者):拥有该资源的最终用户,他有访问资源的账号密码;Resource server(资源服务器):拥有受保护资源的服务器,如果请求包含正

2020-06-21 11:34:51 262

原创 JAVA反射机制简单学习

获取类对象1.类对象对象之间区别:例如zhangsan和lisi都是User对象,他们的区别是每个人有不同的姓名,性别,年龄等等…类之间的区别:例如User和Good都是类,他们的区别是都有不同的方法和属性等等…通过上述可以引申出类对象,就是用于描述这种类,都有什么属性,什么方法的。2.获取类对象获取类对象一般有3种方式Class.forName类名.classnew 类名().getClass()在一个JVM中,一种类,只会有一个类对象存在。所以以上三种方式取出来的类对象,都是一样

2020-06-20 14:26:22 474

原创 Spring Boot使用异步线程池

背景简介在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行, 我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。Spring异步线程池的接口类TaskExecutor,其实质java.util.concurrent.Executor。该接口有三个实现:SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。SyncTaskExecutor:这个类没

2020-06-19 14:16:32 2222

原创 Spring Boot集成Sharding-jdbc + Mybatis-Plus

Sharding-jdbc简介Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。Mybatis-Plus简介Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更

2020-06-18 12:24:23 1329

原创 Spring Cloud 组件入门学习---Zuul

简介Spring Cloud Zuul 是Spring Cloud Netflix 子项目的核心组件之一,可以作为微服务架构中的API网关使用,支持动态路由与过滤功能,API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。项目搭建源码地址创建zuul-proxy模块1、添加zuul-pr

2020-06-17 14:18:47 104

原创 Spring Cloud 组件入门学习---Ribbon

简介Spring Cloud Ribbon 是Spring Cloud Netflix 子项目的核心组件之一,主要给服务间调用及API网关转发提供负载均衡的功能,负载均衡可以增加系统的可用性和扩展性,当我们使用RestTemplate来调用其他服务时,Ribbon可以很方便的实现负载均衡功能。项目搭建项目源码搭建服务提供模块1、创建一个user-service,用于给Ribbon提供服务调用。2、引入依赖 <dependency> <groupId>org.sp

2020-06-16 13:28:50 147

原创 Spring Cloud 组件入门学习---Eureka

简介Spring Cloud Eureka是Spring Cloud Netflix 子项目的核心组件之一,主要用于微服务架构中的服务治理。 本文将对搭建Eureka注册中心,搭建Eureka客户端。在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服

2020-06-15 11:07:45 131

原创 IO网络编程(五)

Netty组件Channel、EventLoop 和 ChannelFutureChannel、EventLoop 和 ChannelFuture这三个抽象类聚合在一起,可以被认为是 Netty 网络抽象的代表: Channel—Socket; EventLoop—控制流、多线程处理、并发; ChannelFuture—异步通知。1.Channel接口基本的 I/O 操作(bind()、connect()、read()和 write())依赖于底层网络传输所提供的原语。在基于 Java

2020-06-13 18:13:09 161

原创 RedisTemplate基本学习

使用背景项目中因为一些数据来源于第三方系统,偶尔会有第三方接口不通,数据库不可用以及网络问题,所以选择redis用作中间件,用来缓存第三方的数据信息。使用RedisTemplateRedisTemplate是Spring Data Redis提供给用户的最高级的抽象客户端,用户可直接通过RedisTemplate进行多种操作。//RedisAccessor是RedisTemplate定义普通属性的基类,不直接使用//RedisOperations是指定RedisTemplate实现的Redis c

2020-06-13 10:20:50 198

原创 docker构建pinpoint-collector收集器

1.环境分析Pinpoint是基于java开发的一款开源框架,所以应该有java基础环境(jdk),而目前pinpoint-collector需要基于tomcat下才可以运行,所以也需要基础web容器(tomcat)。2.项目分析由于pinpoint-collector在项目组做了适应性改造,故不采取开源的项目,目前解决方案是暂时先将项目组内部的pinpoint打包使用,由于内部pinpoint-collector中已添加了相应的配置信息,后续构建启动脚本时,也可以进行动态替换。注意:需要将coll

2020-06-12 17:16:20 471

原创 MongoTemplate基本学习

使用背景项目中偶尔需要对接大数据平台组,因为对接方有使用MongoDB,因此也需要做一些关于MongoDB的简要工作。

2020-06-11 16:43:19 1899

原创 Elastic-job简单使用

使用背景由于项目中有些许定时任务,需要在指定时间或者是某段时间范围内自动触发,因此需要有一款定时任务的框架,查看公司定时任务工程,发现是基于Elastic-job来实现的。简介elastic-job 是由当当网基于quartz 二次开发之后的分布式调度解决方案 , 由两个相对独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成 。elastic-job主要的设计理念是无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用方案。但数据库没有分布式协调功

2020-06-10 17:19:54 689

原创 Spring Boot学习笔记(五)

Spring Boot应用监控

2020-06-09 17:02:23 259

原创 Spring Boot学习笔记(四)

Spring Boot中使用拦截器

2020-06-08 16:02:44 84

原创 SpringBoot整合MyBatis-Plus(附源码)

SpringBoot整合MyBatis-Plus代码生成器1.添加依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

2020-06-06 15:00:54 603

原创 idea奇怪问题----点击run后没反应,按钮由绿变灰没有调起控制台

问题背景在idea里面写了很多简单的测试学习java类,一直都可以编译可以运行,很正常,忽然有一天把postman中生成的java code copy到idea去运行,发现无法运行,再然后发现所有的main方法都无法运行,右键run main还存在,运行按钮也还是正常状态,点击运行后,按钮由绿色变成灰色,不调起控制台也看不到任何运行痕迹。问题分析首先排除jdk版本,java编译环境问题,maven配置以及idea自身bug,逐一排除没有任何进展。网上基本都是认为要修改project structure

2020-06-05 11:06:29 2986 7

原创 Spring Boot学习笔记(三)

Spring Boot中使用监听器

2020-06-04 12:49:27 106

原创 Spring Boot学习笔记(二)

Spring Boot集成 Swagger2 展现在线接口文档1. Swagger 简介随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了 API 接口,所以 API 文档变成了前后端开发人员联系的纽带,变得越来越重要。那么问题来了,随着代码的不断更新,开发人员在开发新的接口或者更新旧的接口后,由于开发任务的繁重,往往文档很难持续跟着更新,Swagger 就是用来解决该问题的一款重要的工具,对使

2020-06-03 11:13:11 100

原创 Spring Boot学习笔记(一)

@RestController@RestController 也是 Spring Boot 新增的一个注解,在项目开发中,接口与接口之间,前后端之间数据的传输都使用 Json 格式,在 Spring Boot 中,接口 返回 Json 格式的数据很简单,在 Controller 中使用 @RestController 注解即可返回 Json 格式的数据。@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documente

2020-06-02 13:17:13 314

文件上传下载模板-excel模板下载,按照模板内容可以插入到对应表

文件上传下载模板-excel模板下载,按照模板内容可以插入到对应表

2023-05-05

SpringBoot经典学习笔记.pdf

网络上传播的关于springboot的开发学习笔记,适用于初学者在入门阶段学习使用,关于注解开发还有一些底层简单实现。

2020-06-01

空空如也

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

TA关注的人

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