自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Code The Future

九层之台,始于垒土;千里之行,始于足下

  • 博客(62)
  • 资源 (5)
  • 收藏
  • 关注

原创 常用中间件封装思路粗记

5.4自定义注解 ,编写配置类在bean属性初始化SmartInitializingSingleton#afterSingletonsInstantiated后至处理器 去扫描有自定义注解的bean的方法,从IOC拿到RegistryConfig、ProtocolConfig、ProviderConfig,从IOC容器获取自定义注解标记的bean,并设置到ServiceConfig中,其中ServiceConfig还要设置interfaceClass。

2023-11-20 14:06:34 704

原创 Spring与Dubbo整合原理与源码分析

赌博、spring

2023-02-28 22:54:15 729

原创 Mybatis源码笔记&Spring整合Mybatis

mybatis

2023-02-23 18:02:52 614

原创 SpringIOC、AOP、事务源码流程粗记

spring

2023-02-21 09:35:58 176

原创 SpringBoot与RabbitMQ

关于RabbitMQ我就不过多介绍了,我得博客前面也有过说明,本篇博客主要介绍一下SpringBoot与RabbitMQ的整合SpringBoot整合RabbitMQ,RabbitAutoConfiguration 为我们SpringBoot为RabbitMQ 创建的自动配置类自动配置了连接工厂 ConnectionFactoryRabbitProperties封装了 RabbitMQR...

2019-01-30 11:10:08 349

原创 过滤器解决跨域问题

什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略(所谓同源是指,域名,协议,端口均相同)造成的,是浏览器对JavaScript施加的安全限制。请求地址形式结果study.cn/json/jsonp/jsonp.htmlhttp://study.cn/test/a.html同一域名,不同文件夹成功http://study.cn...

2019-01-28 18:49:15 2671

原创 SpringBoot与缓存

关于Spring整合Redis我们之前已经有过介绍,这里对相关注解的使用我们就不再介绍太多,可以查看Spring整合Redis注解实现了解JSR107缓存规范Java Caching定义了5个核心接口CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期间访问多个CachingProviderCacheManager定...

2019-01-22 16:00:53 308

原创 SpingBoot与数据访问(二)整合Mybatis与JPA

之前我们说了springBoot 整合JDBC的方式以及说了切换为Druid数据源,我们这篇博客说一下springBoot与Mybatis的整合1. 首先加入Mybatis以及相关依赖<dependencies> <dependency> <groupId>org.springframework.boot&a

2019-01-22 10:13:46 264 2

原创 SpingBoot与数据访问(一)JDBC方式、整合Druid

1.JDBC我们首先使用JDBC连接数据库1.1 导入Maven坐标我们首先导入JDBC与mysql依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</arti

2019-01-20 17:27:15 222

原创 SpringBoot 日志

1 .市面上的日志框架JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…日志门面 (日志的抽象层)日志实现JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-loggingLog4j JUL(java.util.logging) L...

2018-11-14 12:01:05 208

原创 SpringBoot配置文件

SpringBoot使用一个全局的配置文件,配置文件名是固定的application.propertiesapplication.yml我们首先说一下yml 文件的用法1.yml基本语法k:(空格)v:表示一对键值对(空格必须有);以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的person:#我们可以配置普通的字面值,字符串不需要加引号 name: ...

2018-11-12 10:39:35 1418

原创 SpringBoot HelloWorld启动简析

@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}@ResponseBody@RestControllerpu...

2018-11-11 21:37:33 321

原创 dubbo高可用之zookeeper宕机、Dubbo直连、负载均衡、服务降级、集群容错

dubbo高可用之前我们说了dubbo超时重试启动检查等配置,接下来我们说一下dubbo高可用的一些配置1.zookeeper宕机我们接下来讨论一下如果zookeeper宕机对我们的服务提供者消费者有什么影响现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。原因:监控中心宕掉不影响使用,只是丢失部分采样数据数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不...

2018-11-01 18:19:43 7471

原创 dubbo配置之属性配置原则、启动检查、超时时间、重试次数、多版本

之前我们简单介绍了dubbo配置服务提供者、消费者以及管理平台监控平台,接下来我们再说一下dubbo的配置。1.配置策略1.1 属性配置dubbo可以在JVM 启动参数、dubboXML、dubbo.properties 三个地方配置,这里我们以端口为例.JVM 启动参数我们可以在启动项目时盘配置VM参数-Ddubbo.protocol.port=20883dubboXML...

2018-11-01 10:39:20 7352

原创 Spring整合Redis报ClassCastException

最近在用Spring注解方式Cacheable 整合Redis的时候,报ClassCastException 异常,我方法返回值是一个PageVo, 报不能将PageVo 不能转换成String 类型。一开始网上搜都是说SpringBoot整合方案,但我用的是Spring的方式的,后来看过几篇文章,这里记录一下一、为什么Spring redis中缓存的对象需要实现 Serializable 序列...

2018-10-21 22:00:39 3077

原创 Spring整合Redis注解实现

之前我们说了Spring这个Redis,使用RedisTemplate 实现,不过有些地方也过于麻烦,因此Spring 团队对 Jedis 进行了封装,独立为 spring-data-redis 项目,配合 spring 特性并集成 Jedis 的一些命令和方法。并提供了相关注解,帮助我们快速开发,实现缓存功能1. 添加项目依赖<!--redis 缓存--> &...

2018-10-17 17:08:47 5424 2

原创 Spring整合Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。我们都知道,在日常的应用中,数据库瓶颈是最容易出现的。数据量太大和频繁的查询,由于磁盘IO性能的局限性,导致项目的性能越来越低。这时候,基于内存的缓存框架,就能解决我们很多问题。例如Memcache,Redis等。将一些频繁使用的数据放入缓存读取,大大降低了数据...

2018-10-17 11:39:43 215

原创 通过Expire实现Redis锁机制

在我们的业务系统中,可能因为某种原因,用户会不断的点击表单提交按钮,为了较少对系统的 无意义访问、暴力提交以及用户体验,我们利用redis的过期时间简单的实现了一种Redis锁当用户提交表单的时候,我们通过对表单数据以及用户唯一标识例如userNo进行加密,当做我们缓存的唯一keyimport java.security.MessageDigest;public static Stri...

2018-10-15 14:38:33 1600 2

原创 Nginx快速入门(二)反向代理与负载均衡

本文将介绍Ngix 反向代理 、负载均衡 、HTTP服务器(包含动静分离) 、正向代理 等几个方面,由于本人接触使用也没有多久,所以还会有很多不全以及错误的地方,还望大家指正 共同进步。反向代理反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代...

2018-10-09 14:57:20 246

原创 Nginx快速入门(一)Nginx初识与安装

1.什么是Nginxnginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。2.Nginx的特点和组成特点:Nginx特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好组成:N...

2018-10-08 14:38:55 228

原创 UEditor二次开发之新增自定义按钮

需求现状描述:目前预览正文内容只是文本框放大的样式优化方向:建议点击预览可直接预览门户界面的样式也就是现状我们调用的是Ueditor自带的预览功能,而需求中的预览功能则相当于要我们重写预览按钮在之前老版本的Ueditor中新增按钮很麻烦,具体可以参考这里二次开发无需对 UEditor 代码做任何修改,只需在UEditor之外通过UEditor提供的二次开发接口开发定制功能.这种开发...

2018-09-30 11:54:04 5787 1

原创 UEditor粘贴或插入的表格不显示边框的解决办法

现状描述:若复制word中表格内容或excel表格内容至正文编辑框中后,表格没了,显示仅是单元格文字这里说一下我的解决方案1.样式我拿到这个bug后首先考虑的就是table的border的样式丢失了,所以在我参考了几篇文章后 尝试了一下解决方案修改ueditor.all.js1.在文件中找到如下代码并修改utils.each(tables, function (table) { ...

2018-09-30 10:25:36 3540

原创 Linux常用命令(二)

组管理和权限管理命令含义备注chown -R 用户名(用户名:组名) 文件名修改文件所有者-R 递归修改chgrp -R 组名 文件名修改文件所在组-R 递归修改usermod -g组名 -d 目录名 用户名改变用户登录初始目录chmod修改文件夹 文件权限chmod u=rwx,g=rw,o=x a.txt(a所有人)chmod u-x,...

2018-09-29 11:12:24 148

原创 Linux常用命令(一)

基本命令命令含义备注shutdown -h now立即关机同haltshutdown -h 11分钟后关机shutdown -r now重启同rebootsync内存同步到磁盘当我们关机或者重启时,应该先使用此命令,防止数据丢失logout注销运行级别3有效,图形界面无效用户管理命令含义备注usera...

2018-09-18 14:20:58 207

原创 RabbitMQ快速上手(三)Spring集成RabbitMQ

我们前两篇文章介绍了RabbitMQ消息的生产与消费,但是难免过于繁琐,Spring提供了对RabbitMQ的集成,我们来说一下公共部分1.connectionFactory,其中的属性可以从properties文件读取 <!-- 连接服务配置 如果MQ服务器在远程服务器上,请新建用户用新建的用户名密码 guest默认不允许远程登录--> <rabbit:...

2018-08-08 15:00:42 215

原创 RabbitMQ快速上手(二)发布订阅、路由、通配模式

在上篇文章中我们提到了RabbitMQ的几种交换器模式,我们之前的HelloWord和Work模式都是采用的默认的Exchange即Directexchange ,接下来我们这章说一下剩下的几种模式发布/订阅(fanout) 发布订阅模式就像消费者订阅(监听)生产者一样,只要生产者产生消息,消费者都可以消费/** * 订阅模式 */public class EmitLog ...

2018-08-08 10:37:48 565

原创 RabbitMQ快速上手(一)Rabbit初识以及Work模式

AMQP (Advanced Message Queuing Protocol 高级消息队列协议)是一个消息协议,它支持符合标准的客户端请求程序与符合标准的消息中间件代理进行通信。RabbitMQ简介RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。使用Erlang语言编写。...

2018-08-07 18:20:47 675

原创 SpringClound-服务网关

我们前几章已经介绍了SpringClound中的几个核心组件,我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异...

2018-08-06 09:50:42 721

原创 SpringClound-分布式配置中心及其高可用

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为...

2018-08-03 14:24:29 985

原创 请求之密【QueryString,FormData与 RequestPayload】

最近在做AntdPro 的项目,但是使用框架的post请求后台SpringMVC接收不到参数,经过研究发现了我们所谓的请求之密。HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name1=value1的形式在请求体中。我们先看一下我们的...

2018-07-27 10:36:04 2748

原创 windows.open传值(获取父页面dom对象)

最近做了一个预览功能,在新打开的标签页中需要获取父页面中元素的值,在不持久化到数据库的情况下,采用了

2018-07-23 14:36:59 6187

原创 POI设置背景色采坑记录

需求:POI做Excel导出的时候为单元格设置背景色我先使用了xField2FontYellow.setFillBackgroundColor(HSSFColor.YELLOW.index); 但是无论如何都不起作用,后来发现POI是需要设置前景色(目前还不清楚POI什么时候使用背景色和前景色)xField2FontYellow.setFillForegroundColor(HSSF...

2018-07-03 16:35:53 6013 3

原创 高可用的服务注册中心以及服务注册发现简单分析

现在我们的服务注册中心以及服务提供者消费者都已经搭建完毕了,但是我们需要考虑一个问题就是 如果我们的服务注册中心Eureka挂了怎么办?高可用的服务注册中心服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,接下来主要介绍怎么将Eureka Server集群化。 这里我们创建三个注册中心项目 我们对每个...

2018-07-03 11:31:27 2071

原创 基于freemarker(mht)方式导出带图片的富文本word

最近做了一个功能就是将包含富文本的页面导出为word,具体页面如下

2018-06-28 15:17:56 8501 22

原创 SpringClound-服务消费与断路器

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证...

2018-06-28 11:21:28 346

原创 SpringClound-服务注册与发现

微服务首先看一下我们传统的服务架构 比较适合小项目,优点是:开发简单直接,集中式管理, 基本不会重复开发 功能都在本地,没有分布式的管理开销和调用开销。它的缺点也非常明显,特别对于互联网公司来说(不一一列举了)开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断代码维护难:代码功能耦合在一起,新人不知道何从下手部署不灵活:构建时间长,任何小修改必须重新...

2018-06-25 22:14:43 1413

原创 sea.js入门学习

本文章参考sea.js中文文档 因为我也是才接触sea.js 所以我先记录我认为重要的与理解的,后续一些内容有更好的了理解我还会补充SeaJS 是一个适用于 Web 浏览器端的模块加载器。使用 SeaJS,可以更好地组织 JavaScript 代码。在 SeaJS 的世界里,一个文件就是一个模块。所有模块都遵循 CMD 规范,我们可以像在 Node 环境中一样来书写模块代码 核心特性 ...

2018-05-31 15:25:39 370

原创 dubbo搭建ZooKeeper 服务治理中心,Admin管理平台,Monitor监控中心

1.ZooKeeper 服务治理中心点我下载 下载后解压,修改 zookeeper-3.4.11/conf 文件夹里面的 zoo.cfg 文件设置配置项 dataDir 为一个存在的以 data 结尾的目录设置 Zookeeper 的监听端口 clientPort=2181设置 Zookeeper 心跳检查间隔 tickTime = 2000设置 Follower 服务器启动时候...

2018-05-30 11:43:20 3517 1

原创 dubbo 服务提供端与消费端应用的搭建(二)

3.2基于 Dubbo API 方式的服务提供方与消费方搭建基于Dubbo API 方式的服务提供方搭建其中 Provider 模块为服务提供者,里面 TestProviderApi 是基于 Dubbo API 的服务提供,UserServiceImpl 为服务实现类。 首先需要在 Provider 模块里面引入 api 模块,这个不变。 然后实现 UserService 接口为 Us...

2018-05-24 11:34:23 294

原创 dubbo 服务提供端与消费端应用的搭建(一)

1.dubbo是什么Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方...

2018-05-24 10:53:50 2456 2

linux笔记(尚硅谷韩顺平linux笔记)

Linux笔记 配合我的博客使用 为我的博客Linux常用命令文本版

2018-09-29

郝斌C语言180集AVI格式

郝斌C语言180集AVI格式 百度云链接 失效了私信我 我重发 亲测好用

2018-07-27

zookeeper3.4

zookeeper工具包 apacheZookeper 搭建dubbo使用 欢迎下载

2018-05-30

dubbo-admin war包

dubbo-admin war包 只需要上传到 服务器中 启动即可 使用 进入dubbo管理平台

2018-05-25

dubbo-monitor

为dubbo-monitor 监控平台 压缩包 解压之后 修改配置文件 即可搭建 dubbo 监控平台

2018-05-25

空空如也

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

TA关注的人

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