自定义spring-boot-starter

前言 我们经常封装自己写的框架代码,用于重复使用,通过jar依赖,代码触发来实现框架的插件的能力。在Spring-boot的框架中经常用到xxx-starter实现mybatis,mongodb,kafka等第三方中间件的服务,仅需在application等properties配置文件中...

2019-05-25 18:53:32

阅读数 1

评论数 0

tomcat intellij远程调试

前言 最近做项目,测试环境出错了,需要tomcat远程调试,网上各种教程,都说要改catalina.sh或者catalina.bat。然后……反正异常麻烦,我研究了一下catalina.sh和catalina.bat,这样做完全违背了脚本开发者的初衷。 1.catalina.sh 远程...

2019-05-07 22:44:13

阅读数 25

评论数 0

Spring boot打war包

前言 最近在处理旧业务需要war部署,并准备升级框架spring boot,就需要Spring boot打一个war,发布到tomcat。 1. 准备pom 依赖spring boot,去除spring boot starter web内置的嵌入式tomcat,但程序依赖JavaEE...

2019-05-07 21:24:32

阅读数 21

评论数 1

Java Runtime的使用

前言 最近做项目框架,需要在框架结束的时候,关闭服务器连接,清除部分框架运行lock文件,这里就想到了shutdownhook,顺便学了学Runtime的使用 1. shutdownhook demo示例,证明在程序正常结束的时候会调用,如果kill -9 那肯定就不会调用了 publi...

2019-04-25 21:17:51

阅读数 20

评论数 0

Spring FactoryBean的使用分析

前言 Spring的基础能力BeanFactory与FactoryBean,beanFactory定义了Bean创建的工厂;factoryBean定义了Bean如何创建。 最近做项目,发现部分自定义工厂bean,在spring容器中定义bean直接使用FactoryBean对象。虽然在实际使用...

2019-04-23 21:53:29

阅读数 20

评论数 0

sl4j的多种log4j实现导致日志不能打印

前言 目前在做项目过程中,发现部分项目的日志无法打印,一直不知道原因。分析发现是日志jar冲突,由于日志jar冲突是隐式引用,很难排查,加上我们经常不注意日志本身的报错。 1. 冲突jar 模拟jar冲突的project,pom如下 <dependencies&gt...

2019-03-30 10:39:03

阅读数 45

评论数 0

Spring Boot 2.1.3.RELEASE集成alibaba与apache的dubbo

前言 最近在做项目中常用Spring Cloud框架,由于以前的框架使用RPC(dubbo)服务化,现在需要在spring boot集成dubbo。dubbo版本太旧2.4.几,顺便升级了2.6.6;另外由于dubbo交于Apache维护,尝试升级了Apache的dubbo。 1. aliba...

2019-03-22 21:41:49

阅读数 349

评论数 0

Spring Cloud(Greenwich.SR1) - 服务负载均衡feign

前言 我们已经集成ribbon与hystrix,实现服务的负载均衡与熔断,在Spring Cloud中,使用feign已经集成这两种功能。新建一个module实现feign-service服务,pom依赖如下 <dependency&gt...

2019-03-17 22:30:46

阅读数 429

评论数 0

Spring Cloud(Greenwich.SR1) - 服务熔断Hystrix

前言 hystrix是netflix开源的服务熔断组件,在Spring Cloud中整合进来,形成Spring Cloud的熔断降级体系。服务降级主要是为了服务雪崩,造成下游的服务不可用,可用性是分布式服务的必须要求。 1. ribbon服务 在上一章的ribbon服务,仅需添加netfli...

2019-03-17 21:52:24

阅读数 287

评论数 0

Spring Cloud(Greenwich.SR1) - 服务负载均衡ribbon

前言 Spring Cloud的服务调用使用RESTFUL接口,Spring Cloud就是基于HTTP的restTemplate调用的,ribbon就是一个负载均衡,ribbon本意是轮训,意味着Spring Cloud的默认负载均衡是轮训策略。 1. ribbon service prov...

2019-03-17 19:59:28

阅读数 173

评论数 0

Spring Cloud(Greenwich.SR1) - 服务注册,注册中心eureka ha与consul

前言 上一章讲了Spring cloud的注册中心eureka server,现在说说如何实现eureka server的高可用,并尝试使用第三方注册中心consul,毕竟eureka server已经不在迭代维护。 1. eureka server高可用的本质 eureka server是...

2019-03-17 16:52:28

阅读数 214

评论数 0

Spring Cloud(Greenwich.SR1) - 服务注册,注册中心

前言 现在很多公司都在推行目前流行的微服务(2014年)框架,Spring Cloud作为一个目前流行的微服务框架,基于Spring Boot开发而成,具有服务治理,负载均衡,熔断,网关,配置中心,监控,链路跟踪……Spring Cloud不是最完美的,但是一体系解决方案。 Spring Cl...

2019-03-12 22:08:12

阅读数 2029

评论数 2

Spring事件发布监听

前言 最近在做公司的业务需要用到事件通知,比如启动成功打印日志,通知其他业务做相应的操作,就用到了Spring的事件通知机制。 1. Spring的事件通知 Spring的事件通知本质上就是发布-订阅,即生产者-消费者;体现了观察者设计模式或者回调通知,那么Spring的事件是如何使...

2019-03-09 21:24:06

阅读数 29

评论数 0

Java反射属性的问题

前言 最近做项目,需要写一个序列化相关的框架,在javabean的属性的反射过程中,居然出现不兼容的现象。 1. 旧版本属性反射 Javabean由于书写不标准,出现属性与get、set方法不对应,模拟bean注意setNameR与getNameR方法。 public class Tes...

2019-02-26 20:40:15

阅读数 37

评论数 0

java静态代码块和非静态代码块处理流程

前言     笔者前些时候在写代码的时候,需要本地缓存,在类加载的时候必须初始化并在程序运行中不会被GC回收。于是笔者想到使用静态变量与静态代码块。那么静态代码块与普通代码块的区别呢,它在何时运行? 1. 示例代码 public class Man { private stati...

2018-12-31 13:16:40

阅读数 22

评论数 0

spring boot项目启动源码解析

前言     上一章讲述了快速构建spring boot项目,这一章讲述spring boot是什么。 1. spring boot stater 查看快速构建的项目pom文件 <!-- 依赖关系 --> &lt...

2018-12-31 12:21:10

阅读数 39

评论数 0

快速构建一个spring boot项目

前言     一直在用spring boot的基础框架,各种东西,集成功能都有零碎的使用或者研究了一些原理,但没有系统的整理过。最近在看spring boot的基础框架,下面说说如何构建spring boot项目。 1. 官方doc阅读 官方写了很详细的入门构建文档:Building an ...

2018-12-17 00:30:23

阅读数 38

评论数 0

ubuntu 18.10安装chrome和wps

前言 安装了Ubuntu,上一章讲了安装生产力工具,笔者是intellij,现在介绍一个小技巧 gnome dock 点击图标最小化 gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' ...

2018-12-12 22:36:22

阅读数 203

评论数 0

ubuntu 18.10安装JDK和intellij idea

前言     上一章讲安装搜狗输入法,这一章讲本质,JDK和intellij idea的安装。 1. 视觉调整     由于笔者的显示器是full hd 1080p,在显示上必须125%缩放,ubuntu仅支持100%和200%.解决办法是下载第三方软件调整 sudo apt inst...

2018-12-11 22:38:34

阅读数 122

评论数 0

ubuntu 18.10安装搜狗输入法

前言     为了工作需要,我把自己的系统做成Ubuntu, 其实也想过做成centos, 但是从易用性和桌面软件层面上ubuntu生态要好得多, 所以做成ubuntu了, 选取的最新版本18.10. 如果有钱的话推荐mac机, 在开发角度上80%左右的服务器都运行中类unix系统上,不推荐wi...

2018-12-09 22:36:26

阅读数 957

评论数 0

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