随笔- 251  评论- 950  文章- 0 
  2018年6月8日
摘要:我们继续上一篇文章的分析,本文将通过AOP的方式实现一个相对更加简易灵活的API安全认证服务。 我们先看实现,然后介绍和分析AOP基本原理和常用术语。 一、Authorized实现 1、定义注解 package com.power.demo.common; import java.lang.anno 阅读全文
posted @ 2018-06-08 09:59 JeffWong 阅读 (3732) 评论 (0) 编辑
  2018年6月6日
摘要:本文通过一个简易安全认证示例的开发实践,理解过滤器和拦截器的工作原理。 很多文章都将过滤器(Filter)、拦截器(Interceptor)和监听器(Listener)这三者和Spring关联起来讲解,并认为过滤器(Filter)、拦截器(Interceptor)和监听器(Listener)是Spr 阅读全文
posted @ 2018-06-06 00:34 JeffWong 阅读 (10898) 评论 (0) 编辑
  2018年5月17日
摘要:我们可以通过Spring Boot快速开发REST接口,同时也可能需要在实现接口的过程中,通过Spring Boot调用内外部REST接口完成业务逻辑。 在Spring Boot中,调用REST Api常见的一般主要有两种方式,通过自带的RestTemplate或者自己开发http客户端工具实现服务 阅读全文
posted @ 2018-05-17 09:56 JeffWong 阅读 (27996) 评论 (3) 编辑
  2018年5月7日
摘要:本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发。 上文中提到的这个简易邮件系统大致设计思路如下: 1、发送邮件支持同步和异步发送两种 2、邮件使用MongDB进行持久化保存 3、异步发送,直接将邮件批量保存在MongoDB中,然后通过后台定 阅读全文
posted @ 2018-05-07 09:37 JeffWong 阅读 (12563) 评论 (2) 编辑
  2018年5月4日
摘要:在Spring Boot中实现定时任务功能,可以通过Spring自带的定时任务调度,也可以通过集成经典开源组件Quartz实现任务调度。 一、Spring定时器 1、cron表达式方式 使用自带的定时任务,非常简单,只需要像下面这样,加上注解就好,不需要像普通定时任务框架那样继承任何定时处理接口 , 阅读全文
posted @ 2018-05-04 09:28 JeffWong 阅读 (3118) 评论 (4) 编辑
  2018年5月2日
摘要:缓存是最直接有效提升系统性能的手段之一。个人认为用好用对缓存是优秀程序员的必备基本素质。 本文结合实际开发经验,从简单概念原理和代码入手,一步一步搭建一个简单的二级缓存系统。 一、通用缓存接口 1、缓存基础算法 (1)、FIFO(First In First Out),先进先出,和OS里的FIFO思 阅读全文
posted @ 2018-05-02 09:45 JeffWong 阅读 (2916) 评论 (0) 编辑
  2018年4月30日
摘要:消息队列是大型复杂系统解耦利器。本文根据应用广泛的消息队列RabbitMQ,介绍Spring Boot应用程序中队列中间件的开发和应用。 一、RabbitMQ基础 1、RabbitMQ简介 RabbitMQ是Spring所在公司Pivotal自己的产品,是基于AMQP高级队列协议的消息中间件,采用e 阅读全文
posted @ 2018-04-30 23:00 JeffWong 阅读 (6931) 评论 (0) 编辑
  2018年3月26日
摘要:一、为什么选择Spring Boot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目。早期我们搭建一个SSH或者Spring Web应用,需要非常繁琐的步骤,比如配置web.xml,配置数据库连接,配置事务,配置日志,配置Tomcat,装 阅读全文
posted @ 2018-03-26 22:23 JeffWong 阅读 (10121) 评论 (3) 编辑
  2018年3月23日
摘要:最近重构某项目过程中发现的,有同事反馈调试不正常,很久以前也发生过,虽然搜索了一下找到解决方案,但个人觉得还是有必要再记录一下。 调试某CS结构的应用程序,大致效果可以看下图: 我们组最终解决方案是:将编译的目标平台设置为X64而不是AnyCPU或者X86。 这个问题,我在前厂开发过一个OCR(光学 阅读全文
posted @ 2018-03-23 20:07 JeffWong 阅读 (8566) 评论 (2) 编辑
  2017年12月31日
摘要:一、系统设计 根据工程实践经验,系统设计总体来说可以精简提炼分为两个核心阶段,即总体设计和详细设计。 1、总体设计 总体设计的主要任务是把需求分析得到的结果转换为软件结构和数据结构,也就是确定软件的主体系统结构。 设计软件结构的具体任务是将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系 阅读全文
posted @ 2017-12-31 20:36 JeffWong 阅读 (3842) 评论 (0) 编辑