自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唐亚峰

欢迎关注我的微信公众号:battcn

原创 一起来学SpringBoot | 第二十六篇:轻松搞定安全框架(Shiro)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Shiro 是 Apache 旗下开源的一款强大且...

2018-07-04 13:27:17 1167 0

原创 一起来学SpringBoot | 第二十五篇:打造属于你的聊天室(WebSocket)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Webscoket 对浏览器有一定的要求,所以使用...

2018-06-28 09:13:29 1750 0

原创 一起来学SpringBoot | 第二十四篇:数据库管理与迁移(Liquibase)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 目前 Spring Boot 支持较好的两款工具分...

2018-06-28 09:13:03 1891 1

原创 一起来学SpringBoot | 第二十三篇:轻松搞定重复提交(分布式锁)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在 一起来学SpringBoot | 第二十二篇:...

2018-06-28 09:12:29 3424 0

原创 一起来学SpringBoot | 第二十二篇:轻松搞定重复提交(本地锁)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在平时开发中,如果网速比较慢的情况下,用户提交表单...

2018-06-28 09:11:55 2875 1

原创 一起来学SpringBoot | 第二十一篇:轻松搞定数据验证(三)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 前面两章中详细介绍了数据有效性校验的重要性、自定有...

2018-06-12 17:32:36 439 0

原创 一起来学SpringBoot | 第二十篇:轻松搞定数据验证(二)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 一起来学SpringBoot | 第十九篇:轻松搞...

2018-06-12 17:32:14 219 0

原创 一起来学SpringBoot | 第十九篇:轻松搞定数据验证(一)

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 对于任何一个应用而言,客户端做的数据有效性验证都不...

2018-06-12 17:31:43 224 2

原创 一起来学SpringBoot | 第十八篇:轻松搞定全局异常

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 实际项目开发中,程序往往会发生各式各样的异常情况,...

2018-06-12 17:31:11 191 0

原创 一起来学SpringBoot | 第十七篇:轻松搞定文件上传

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 文件上传和下载是JAVA WEB中常见的一种操作,...

2018-06-12 17:30:25 193 0

原创 一起来学SpringBoot | 第十六篇:定时任务详解

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在我们日常开发中,经常会遇到 数据定时增量同步、定...

2018-05-31 14:10:02 917 0

原创 一起来学SpringBoot | 第十五篇:actuator与spring-boot-admin 可以说的秘密

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 一起来学SpringBoot | 第十四篇:强大的...

2018-05-31 14:09:35 2219 1

原创 一起来学SpringBoot | 第十四篇:强大的 actuator 服务监控与管理

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 actuator是spring boot项目中非常...

2018-05-31 14:08:59 846 0

原创 一起来学SpringBoot | 第十三篇:RabbitMQ延迟队列

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 初探RabbitMQ消息队列中介绍了RabbitM...

2018-05-31 14:08:25 2634 1

原创 一起来学SpringBoot | 第十二篇:初探RabbitMQ消息队列

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 MQ全称(Message Queue)又名消息队列...

2018-05-31 14:07:54 271 0

原创 一起来学SpringBoot | 第十一篇:集成Swagger在线调试

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 随着互联网技术的发展,现在的网站架构基本都由原来的...

2018-05-31 14:07:23 277 5

原创 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring 3.1 引入了激动人心的基于注释(a...

2018-05-31 14:05:22 758 0

原创 一起来学SpringBoot | 第九篇:整合Lettuce Redis

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring Boot 除了支持常见的ORM框架外...

2018-05-31 14:04:40 3982 0

原创 一起来学SpringBoot | 第八篇:通用Mapper与分页插件的集成

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在一起来学SpringBoot | 第七篇:整合M...

2018-05-29 10:35:43 447 0

原创 一起来学SpringBoot | 第七篇:整合Mybatis

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 MyBatis 是一款优秀的持久层框架,它支持定制...

2018-05-29 10:34:31 366 2

原创 一起来学SpringBoot | 第六篇:整合SpringDataJpa

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 上一篇介绍了Spring JdbcTemplate...

2018-05-29 10:27:59 555 0

原创 一起来学SpringBoot | 第五篇:使用JdbcTemplate访问数据库

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring Framework对数据库的操作在J...

2018-05-29 10:27:11 484 0

原创 一起来学SpringBoot | 第四篇:整合Thymeleaf模板

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在前面几章中已经介绍了如何创建一个SpringBo...

2018-05-23 13:32:05 410 0

原创 一起来学SpringBoot | 第三篇:SpringBoot日志配置

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring Boot 内部采用的是 Common...

2018-05-23 13:30:56 539 1

原创 一起来学SpringBoot | 第二篇:SpringBoot配置详解

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 上一篇介绍了 SpringBoot 由来及构建...

2018-05-22 20:28:40 728 0

原创 一起来学SpringBoot | 第一篇:构建第一个SpringBoot工程

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 未接触 SpringBoot 之前,搭建一个普...

2018-05-18 08:31:06 1491 1

原创 Spring解密 - 默认标签的解析

Spring是一个开源的设计层面框架,解决了业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统应用,同时它也是Java工作中必备技能之一… 前言 紧跟上篇 Spring解密 - XML解析 与 Bean注册 ,我们接着往下分析源码 解密 在 Spring 的 XM...

2018-01-11 09:37:40 639 0

原创 一起学设计模式 - 代理模式

代理模式(Proxy Pattern)属于结构型模式的一种,给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。 概述 身处华夏大地的码农都知道,因为国内有个牛逼的GFW,所以导致无法访问 Google,不能访问Goog...

2018-01-11 09:30:38 170 0

原创 一起学设计模式 - 外观模式

外观模式(Facade Pattern)属于结构型模式的一种,为子系统中的一组接口提供一个统一的入口,它通过引入一个外观角色来简化客户端与子系统之间的交互… 概述 外观模式是一种使用频率非常高的结构型设计模式,当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复...

2018-01-11 09:30:02 135 0

原创 一起学设计模式 - 组合模式

组合模式(Composite Pattern)属于结构型模式的一种,组合多个对象形成树形结构来表示部分 - 整体的结构层次,对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性 概述 组合模式对单个对象(叶子对象)和组合对象(容器对象)具有一致性,它将对象组织到树结构中,可以用来...

2018-01-11 09:29:21 177 0

原创 一起学设计模式 - 桥接模式

桥接模式(Brideg Pattern)属于结构型模式的一种,用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 概述 桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离...

2018-01-11 09:28:41 177 0

原创 一起学设计模式 - 适配器模式

适配器模式(Adapter Pattern)属于结构型模式的一种,把一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作… 概述 当你想使用一个已经存在的类,而它的接口不符合你的需求,或者你想创建一个可重用的类(与不兼容接口无关的类),这...

2018-01-11 09:27:59 138 0

原创 一起学设计模式 - 建造者模式

建造者模式(Builder Pattern)属于创建型模式的一种,将多个简单对象构建成一个复杂的对象,构建过程抽象化,不同实现方法可以构造出不同表现(属性)的对象,还提供了一种更加优雅构建对象的方式… 概述 有时候构建一个复杂的对象,需要经过好几步的处理,比如常用的StringBuf...

2018-01-11 09:27:18 150 0

原创 Spring解密 - XML解析 与 Bean注册

Spring是一个开源的设计层面框架,解决了业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统应用,同时它也是Java工作中必备技能之一…

2018-01-09 17:47:12 202 0

原创 一起学设计模式 - 原型模式

原型模式(Prototype Pattern)是创建模式的一种,其作用是提高创建效率,减少计算机资源开销,与工厂模式类似的是,都屏蔽了对象实例化的过程… 概述原型模式是23GOF模式的一种,其特点就是通过克隆/拷贝的方式来,节约创建成本和资源,被拷贝的对象模型就称之为原型。举例:在写PPT的时候,...

2017-12-31 08:39:38 107 0

原创 一起学设计模式 - 单例模式

单例设计模式(Singleton Pattern)是最简单且常见的设计模式之一,主要作用是提供一个全局访问且只实例化一次的对象,避免多实例对象的情况下引起逻辑性错误(实例化数量可控)… 概述Java中,单例模式主要分三种:懒汉式单例、饿汉式单例、登记式单例三种。 懒汉:非线程安全,需要用一定的风骚...

2017-12-31 08:38:31 214 0

原创 一起学设计模式 - 工厂模式

工厂模式是JAVA中最常用的设计模式之一,使用工厂模式后,创建对象的时候不在将创建逻辑暴露给客户端,而是通过实现接口的方式创建对象,这种设计模式也是对象实例化的最佳方式。 概述 工厂模式的三种形态简单工厂(Simple Factory) 工厂方法(Factory Method) 抽象工厂(Ab...

2017-12-31 08:37:21 312 0

原创 一起学并发编程 - 简易线程池实现

开发中经常会遇到各种池(如:连接池,线程池),它们的作用就是为了提高性能及减少开销,在JDK1.5以后的java.util.concurrent包中内置了很多不同使用场景的线程池,为了更好的理解它们,自己手写一个线程池,加深印象。

2017-11-16 08:41:23 893 0

原创 一起学并发编程 - sleep与wait的差异

在JAVA的学习中,不少人会把sleep和wait搞混,认为都是做线程的等待,下面主要介绍下这俩者是什么,及了解它们之间的差异和相似之处。

2017-11-15 09:40:14 574 0

原创 一起学并发编程 - 等待与通知

wait,notify 和 notifyAll,这些在多线程中被经常用到的保留关键字,在实际开发的时候很多时候却并没有被大家重视,而本文则是对这些关键字的使用进行描述。

2017-11-15 09:39:16 575 0

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