自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (7)
  • 收藏
  • 关注

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

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

2018-07-04 13:27:17 1600

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

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

2018-06-28 09:13:29 2430

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

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

2018-06-28 09:13:03 2993 2

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程在 一起来学SpringBoot | 第二十二篇:轻松搞定重复提交(一) 一文中介绍了单机版的重复提交解决方案,在如今这个分布式与集群横行的世道中,那怎...

2018-06-28 09:12:29 4663

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

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

2018-06-28 09:11:55 3891 3

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

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

2018-06-12 17:32:36 671

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程一起来学SpringBoot | 第十九篇:轻松搞定数据验证(一) 中介绍了数据有效性校验的重要性,也简单介绍了如何用轻松的方式搞定数据有效性校验,但是...

2018-06-12 17:32:14 441

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程对于任何一个应用而言,客户端做的数据有效性验证都不是安全有效的,而数据验证又是一个企业级项目架构上最为基础的功能模块,这时候就要求我们在服务端接收到数据...

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

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

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

2018-06-12 17:31:11 378

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程文件上传和下载是JAVA WEB中常见的一种操作,文件上传主要是将文件通过IO流传输到服务器的某一个特定的文件夹下;刚开始工作那会一个上传文件常常花费小...

2018-06-12 17:30:25 371

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

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

2018-05-31 14:10:02 1163

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程一起来学SpringBoot | 第十四篇:强大的 actuator 服务监控与管理 中介绍了actuator 的作用,细心的朋友可能会发现通过http...

2018-05-31 14:09:35 3230 2

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api 请求来监管、审计、收集应用...

2018-05-31 14:08:59 1346

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程初探RabbitMQ消息队列中介绍了RabbitMQ的简单用法,顺带提及了下延迟队列的作用。所谓延时消息就是指当消息被发送以后,并不想让消费者立即拿到消...

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

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件。可以将它理解成邮局,发送者将消息传递到邮局,然后由邮局帮我们发送给具体的消息...

2018-05-31 14:07:54 405

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

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

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

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

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

2018-05-31 14:05:22 968

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

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

2018-05-31 14:04:40 5088 1

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程在一起来学SpringBoot | 第七篇:整合Mybatis一文中,我们介绍了Mybatis这款优秀的框架,顺便提及了民间大神开发的两款插件(通用Ma...

2018-05-29 10:35:43 767

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,几乎避免了所有的 JDBC 代码和手动设置参数以及获取结果集,使用简...

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

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程上一篇介绍了Spring JdbcTemplate的使用,对比原始的JDBC而言,它更加的简洁。但随着表的增加,重复的CRUD工作让我们苦不堪言,这时候...

2018-05-29 10:27:59 755

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

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

2018-05-29 10:27:11 745

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

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

2018-05-23 13:32:05 728

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

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

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

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

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

2018-05-22 20:28:40 885

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程未接触 SpringBoot 之前,搭建一个普通的 WEB 工程往往需要花费30分钟左右,如果遇到点奇葩的问题耽搁的时间会更长一点,但自从用了Spr...

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

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

Spring是一个开源的设计层面框架,解决了业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统应用,同时它也是Java工作中必备技能之一…前言紧跟上篇 Spring解密 - XML解析 与 Bean注册 ,我们接着往下分析源码解密在 Spring 的 XML 配置里面有两大类声明,一个是默认的如 ,另一类就是自定义的如,两种标签的解析方式差异是非常大的。p

2018-01-11 09:37:40 854

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

代理模式(Proxy Pattern)属于结构型模式的一种,给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。概述身处华夏大地的码农都知道,因为国内有个牛逼的GFW,所以导致无法访问 Google,不能访问Google怎么查资料呢?不能查资料怎么提升(装逼)呢,古语有云(扯犊子的):上有政策,下有对策,我们可以借助

2018-01-11 09:30:38 362

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

外观模式(Facade Pattern)属于结构型模式的一种,为子系统中的一组接口提供一个统一的入口,它通过引入一个外观角色来简化客户端与子系统之间的交互…概述外观模式是一种使用频率非常高的结构型设计模式,当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给

2018-01-11 09:30:02 312

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

组合模式(Composite Pattern)属于结构型模式的一种,组合多个对象形成树形结构来表示部分 - 整体的结构层次,对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性概述组合模式对单个对象(叶子对象)和组合对象(容器对象)具有一致性,它将对象组织到树结构中,可以用来描述整体与部分的关系。同时它也模糊了简单元素(叶子对象)和复杂元素(容器对象)的概念,使得客户能够像处

2018-01-11 09:29:21 383

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

桥接模式(Brideg Pattern)属于结构型模式的一种,用于把抽象化与实现化解耦,使得二者可以独立变化,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。概述桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设

2018-01-11 09:28:41 377

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

适配器模式(Adapter Pattern)属于结构型模式的一种,把一个类的接口变成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作…概述当你想使用一个已经存在的类,而它的接口不符合你的需求,或者你想创建一个可重用的类(与不兼容接口无关的类),这时候可以考虑使用适配器模式。同时它也是一种包装模式,它与装饰模式同样具有包装的功能。案例

2018-01-11 09:27:59 319

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

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

2018-01-11 09:27:18 337

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

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

2018-01-09 17:47:12 404

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

原型模式(Prototype Pattern)是创建模式的一种,其作用是提高创建效率,减少计算机资源开销,与工厂模式类似的是,都屏蔽了对象实例化的过程…概述原型模式是23GOF模式的一种,其特点就是通过克隆/拷贝的方式来,节约创建成本和资源,被拷贝的对象模型就称之为原型。举例:在写PPT的时候,大多情况下模板风格都是一致的,只是其中部分描述内容发生变化,这个时候你会选择Ctrl+C/V还是新建一页

2017-12-31 08:39:38 250

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

单例设计模式(Singleton Pattern)是最简单且常见的设计模式之一,主要作用是提供一个全局访问且只实例化一次的对象,避免多实例对象的情况下引起逻辑性错误(实例化数量可控)…概述Java中,单例模式主要分三种:懒汉式单例、饿汉式单例、登记式单例三种。懒汉:非线程安全,需要用一定的风骚操作控制,装逼失败有可能导致看一周的海绵宝宝饿汉:天生线程安全,ClassLoad的时候就已经实例化好

2017-12-31 08:38:31 377

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

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

2017-12-31 08:37:21 655

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

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

2017-11-16 08:41:23 1088

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

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

2017-11-15 09:40:14 729

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

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

2017-11-15 09:39:16 768

阿里巴巴Java开发手册(终极版)

阿里巴巴Java开发手册(终极版),让你不在是菜鸟,你与大牛只差一本PDF

2017-12-28

基于 Springboot、Shiro、Mybatis、Thymeleaf 做的后台管理系统(也有传统MVC版本,都在ZIP里)

基于 Springboot、Shiro、Mybatis、Thymeleaf 做的后台管理系统,简单粗暴

2017-08-10

dubbo+spring+spring mvc

资源为作者自己写的一个dubbo案例简单 清楚明了,附带注释,只需要有ZK+DUBBO的环境就能运行,需要环境的可以加作者获取

2016-09-08

SSM+Shiro+BootStrap框架整合

演示地址:http://www.battcn.com/battcn (还在完善中 ,欢迎给出宝贵建议)采用BootStrap 3.3 DataTable Ajax请求的页面 Spring 4.2 Spring MVC 4.2 Mybatis 3.2 封装好分页与一键增删改查API完全不需要写冗余代码。并且使用Shiro做权限控制持续更新

2016-09-06

Maven+Spring+SpringMVC+Shiro+Mybatis+MYSQL

battcn管理系统,集成最新技术框架,以最通用性,稳定性,快速性开发系统,最新技术 springMVC4.2.2统+spring4.2.2+,mybaits3.2.8+MySQL5.6,采用Shiro做权限控制,前端最新流行的技术,这是一个属于大家

2016-09-06

RabbitMQ项目demo

项目要用到自己写的一个demo,包括点对点消息推动,广播消息推送、离线推动,当然用这个前,你要到RabbitMQ官网上去下载RabbitMQ的server,这个很简单(因为上传资源大小限制,所以没传)。 RabbitMQ项目demo,附Android与Web两种 可正常编译通过

2016-08-30

HIS web医疗系统需求文档跟SQL脚本

HIS web医疗系统需求文档跟SQL脚本

2014-11-23

空空如也

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

TA关注的人

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