believer123的专栏

奔跑吧,架构师!新博客地址:www.atomicdevelop.com

SpringBoot 优雅的进行单元测试

随着项目的功能不断增多启动项目需要的时间就越来越长,如果每个功能都从Controller入口进行测试,不仅费时而且费力。 那么这时候单元测试就体现出非常大的优势了,对所有的接口进行测试,可以非常快速的发现问题,而且方便调试。而且通过编写单元测试来发现代码结构的不合理性,通常来说代码结构越合理,单元...

2018-09-23 11:05:40

阅读数 284

评论数 0

Docker nginx安装与文件挂载

在高并发访问的时候,一台tomcat完成是撑不住的,这时就需要做个tomcat集群了,使用nginx进行LB处理。那么先安装好nginx进行测试。 在win10中,下载好nginx,并进入解压好的目录,执行 start nginx即可以启动nginx了,只要在访问localhost页面上出现“W...

2018-04-30 11:16:55

阅读数 2050

评论数 1

SpringCloud Zuul过滤器返回值拦截

Zuul作为网关服务,是其他各服务对外中转站,通过Zuul进行请求转发。这就涉及到部分数据是不能原封返回的,比如服务之间通信的凭证,用户的加密信息等等。本文中的代码已提交至: https://gitee.com/cmlbeliever/springcloud 欢迎Star 实现类在:api-ge...

2017-10-26 09:54:34

阅读数 12872

评论数 2

SpringCloud 项目基础搭建与使用

微服务已经渐渐火起来了,现在到哪里都能听到这个词。在微服务方面SpringCloud算是很成熟的开源项目了。虽然项目中还没具体使用到,但是作为个人的学习拓展还是可以深入的学习的。 我眼中的微服务概念:将系统拆分成独立的多个模块,通过网关对外提供服务,模块之间可以互相调用。通过这样拆分就可以根据每...

2017-10-25 16:46:44

阅读数 11428

评论数 1

SpringBoot 读写分离实现(AbstractRoutingDataSource)

读写分离一直都是项目的标配,之前项目的做法非常简单,直接配置两个数据源,一个只读,一个只写,只读的放到xxx.read,只写的放到xxx.write包下。Service层调用的时候根据操作选择对应的数据源。主要配置:<bean id="dataSource" class=...

2017-10-13 13:09:35

阅读数 3944

评论数 0

SpringMvc 你该知道如何在HandlerExceptionResolver中获取Model

在项目开发中,我们通常通过参数的形式注入Model对象,如: @RequestMapping("/demo") public String demo(Model model) { model.addAttribute("message&q...

2017-07-31 15:01:11

阅读数 1286

评论数 0

SpringBoot 整合SpringMvc 原理探究(DispatchServlet添加流程)

通过SpringBoot整合各个框架是越来越方便了,整合SpringMVC只需要添加对应的starer依赖即可。<dependency> <groupId>org.springframework.boot</groupId> <artifa...

2017-04-16 18:14:19

阅读数 18991

评论数 10

SpringBoot 为MapperScan添加动态扫描(占位符)功能

SpringBootLean 是对springboot学习与研究项目,是根据实际项目的形式对进行配置与处理,欢迎star与fork。 [oschina 地址] http://git.oschina.net/cmlbeliever/SpringBootLearning [github 地址] ...

2017-03-24 21:54:43

阅读数 66384

评论数 4

Springboot Mybatis 打包jar扫描bean与mapper问题研究与解决

SpringBootLean 是对springboot学习与研究项目,是根据实际项目的形式对进行配置与处理,欢迎star与fork。 地址:点我进入项目地址最近在项目中集成以全注解的方式Mybatis,配置了自动bean包与mapper所在包db.mybatis.mapperLocations=...

2016-11-12 11:24:55

阅读数 29671

评论数 5

SLB优雅的滚动发布

又是新的一年了,距离上一次写文章已经过了2个多月了,作为新年的第一篇文章,对最近使用SLB的心得进行总结,作为以后备注,也可以让各位读者少走一点坑。 SLB使用的是阿里云的服务,服务A有多个实例部署在不同服务器上的docker容器中。对外通过SLB进行负载,调用方只需要通过访问SLB就可以将请求均...

2019-01-24 21:09:07

阅读数 45

评论数 0

Docker 中安装VIM

docker容器中有许多默认是没有安装vim的,如果需要编辑配置文件的话,那么就需要手动安装vim了。 如果直接使用:apt-get install vim; 则会出现如下错误: Reading package lists... Done Building dependency tree ...

2018-11-26 21:37:25

阅读数 23

评论数 0

Redisson lua脚本执行踩坑之神秘的引号

最近项目需求,在redis中需要执行批量删除指定key,并且要支持原子操作,那么当然只有自己写lua脚本了。 项目中使用的是redisson作为redis连接工具,首先先定义好lua脚本: private static final String BATCH_DEL_SCRIPT = &...

2018-11-20 21:15:07

阅读数 167

评论数 0

SpringCloud2.0.1--Ribbon 重试监听

在SpringCloud中,通常使用的是客服端发现作为负载均衡。SpringCloud全家桶中提供了Ribbon作为客户端负载的优秀框架。 服务器之间的调用直接使用Feign进行调用。Feign默认使用了Ribbon作为负载的实现。 通常来说,进行服务拆分后,每个服务之间都需要支持幂等性,因为...

2018-08-19 16:06:40

阅读数 241

评论数 0

Eureka 优雅下线,上线

项目中使用SpringCloud时,Eureka作为注册中心基本是标配了,作为AP的一个实现策略,基本能够满足项目的需要。在微服务的世界中,每个模块发布是常有的事,那么如何安全地发布呢? 直接关闭服务 这种方式简单粗暴,直接造成的影响就是部分模块调用时出错,如果有多台服务器的话,一台一台地...

2018-08-04 14:58:17

阅读数 881

评论数 0

一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程

对于JVM垃圾回收,之前一直都是处于理论阶段,就知道新生代,老年代的晋升关系,这些知识仅够应付面试使用的。前一段时间,线上服务器的FullGC非常频繁,平均一天40多次,而且隔几天就有服务器自动重启了,这表明的服务器的状态已经非常不正常了,得到这么好的机会,当然要主动请求进行调优了。未调优前的服务...

2018-07-15 22:28:35

阅读数 3187

评论数 10

SpringCloud Finchley.RELEASE 踩坑 -- java.lang.NoSuchFieldError: logger

最近在做SpringCloud项目升级,升级到最新的版本Finchley.RELEASE,启动后就报错: java.lang.NoSuchFieldError: logger at org.springframework.beans.factory.support.AbstractBea...

2018-07-03 10:20:32

阅读数 2797

评论数 4

Spring Async不得不知的用法

在Spring中使用需要对方法进行异步操作的时候,只需要在对应的方法上加上 @Async 注解就好了,如果想要获取返回值或者进行监听呢? 首先,整合异步框架需要在SpringBoot入口类中添加@EnableAsync注解,表明开启异步框架。 从@Async类的注释上得知 In ...

2018-06-28 22:10:24

阅读数 671

评论数 0

Android Ble notify功能踩坑

最近在研究Ble蓝牙相关的开发,在和蓝牙通信的时候,主动读取消息是ok的,但是就是无法收到蓝牙主动发送出来的消息,而且IOS是可以接收到消息的。这个就比较尴尬了。 通过查阅文档和网上他人的博客找到开启notify功能的代码: private void setAutoRece...

2018-02-12 17:43:33

阅读数 1806

评论数 0

SpringMVC中一个超好用的参数缓存框架

在上篇博客(http://blog.csdn.net/cml_blog/article/details/78928693)已经分析了页面参数保存的方法以及各种方法。但是是基于AOP的实现方式,既然使用SpringMVC,那么就应该使用框架提供的接口进行使用。现在将SpringMVC的实现方式抽取出...

2018-02-11 09:57:53

阅读数 504

评论数 0

关于页面查询条件保持的思考(一)

在项目中,查询条件保持是经常使用到的,特别是管理后台。对于前台页面来说,通常为了访问的方便会使用get的方式进行表单提交,这样进行页面分享或者发送给好友时可以直接打开对于的页面。但是对于管理后台来说,地址栏上的一大串url参数是不允许的,不美观也不安全。 比如在用户查询页面,可以根据用户的年龄,...

2017-12-29 10:15:00

阅读数 1362

评论数 0

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