- 博客(365)
- 资源 (33)
- 收藏
- 关注
原创 设计模式17-门面模式
一 门面模式的定义 门面模式也叫外观模式,是一种比较常用的封装模式,其定义如下:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 门面模式注重统一的对象,也就是提供一个访问子系统的接口,除了这个接口不允许有任何访问子系统的行为发生,其通用类图如下:Facade门面角色:客户端可以调用这个角色的方法,此角色知晓子系统的
2018-01-29 11:53:11 343
原创 设计模式16-观察者模式
一 观察者模式定义 观察者模式也叫发布订阅模式,它是一个在项目中经常使用的模式,其定义如下:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 观察者模式的通用类图:Subject被观察者:定义被观察者必须实现的职责,它必须能够动态的增加,取消观察者者。它一般是抽象类或者是实现类,仅仅完成作为被观察者必须实现的职责:管理观察
2018-01-29 10:37:23 284
原创 设计模式15-组合模式
一 组合模式的定义 组合模式也叫合成模式,有时又叫部分-整体模式,主要是用来描述部分与整体的关系,定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用一致性。 组合模式通用类图: Component抽象构建角色:定义参加组合对象的共有方法和属性,可以定义一些默认的行为或属性。Leaf叶子构件:叶子对象,其下再也没有其他的分支,
2018-01-26 18:11:27 412
原创 设计模式14-迭代器模式
其他设计模式的链接:http://blog.csdn.net/wj903829182/article/category/7068746 这里来了解下设计模式的迭代模式。一 迭代模式的简单实现案例1,类图 看上面的代码是不是有点复杂,下面我们来实现代码,可能看代码根据清晰。 项目信息接口:package com.jack.interator;/** * Cr
2018-01-26 15:02:31 380
原创 设计模式13-适配器模式
之前的设计模式可以参考:http://blog.csdn.net/wj903829182/article/category/7068746 这里继续前面没有总结完的设计模式,适配器模式,适配器模式的定义:将一个类的接口变换成客户端期待的另外一种接口,从而使原本不匹配的而无法在一起工作的两个类能够在一起工作。 一 适配器模式的简单实现 适配器模式又叫做变压器模式,也
2018-01-26 12:16:18 442
原创 spring-session和redis解决spring cloud中session不一致性问题
现在都比较流行使用spring boot来进行开发,使用spring cloud来搭建分布式。在搭建的时候会涉及到一个关键的问题,session统一的问题。使用zuul作为网关转发来调用其他模块,zuul中的session和其他模块的session会不一致,同时如果是前后端分离,还存在跨域的问题下面会给出解决的方法。这样会导致用户登入时候,没法保存用户的信息,session会存在问题。解决的办法采
2018-01-25 15:16:20 15446 6
原创 mybatis-spring1
下面开始学习mybatis和spring的整合,需要了解spring的ioc和aop的知识,之前的博客有介绍。spring框架已经成为java世界最为流行的ioc和aop框架。通过spring框架我们可以使用ioc的依赖注入,即插即拨功能;通过aop框架,数据事务可以委托给spring处理,消除掉很大一部分的事务代码。mybatis-spring使得业务层和模型层得到了更好的分离。mybati和s
2017-12-26 21:23:39 422
原创 mybatis插件
前面讨论了四大对象的运行过程,在Configuration对象的创建方法里我们看到了mybatis用责任链去封装它们。换句话说,我们有机会在四大对象调度的时候插入我们的的代码去执行一些特殊的要求以满足特殊的场景需求,这便是mybati的插件技术。 在没能完全理解mybatis的原理和插件的时候,使用插件是十分危险的。使用插件就意味着mybatis底层封装,它给予我们灵活性的同时,也给
2017-12-24 10:37:14 1880
原创 mybatis的解析和运行原理2-SqlSession的运行过程
SqlSession的运行过程是mybatis的重点和难点,也是整个mybatis比较难以理解的部分。SqlSession是一个接口,使用它并不复杂。我们构建SqlSessionFactory就可以轻易地拿到SqlSession了。SqlSession给出了查询,插入,更新,删除的方法,在旧版的mybatis或ibatis中常常使用这些接口方法,而在新版本的mybatis中建议使用Mapper,所
2017-12-23 22:02:23 973
原创 mybatis的解析和运行原理1
如果只是学会mybatis的使用,那么在之前的博客中对mybatis一些基本的使用已经做了比较详细的说明了。但是在开发中,对于很多东西我们需要知道原理,才能对源码进行修改,写出更好的代码,对mybatis理解的更加深入,做到知其然并知其所以然。之前的博客:http://blog.csdn.net/j903829182/article/details/73382280 接下来是对myba
2017-12-18 21:18:38 613
原创 读取xml文件转换为json文件
在平时经常遇到需要把xml文件转换为json格式数据的需求,这里将实现读取指定目录的xml文件并吧内容转换为json格式然后输出到指定目录。项目采用spring boot项目,下面是实现的主要步骤:一,创建一个spring boot项目 创建好spring boot项目,配置pom.xml文件,代码如下:<project xmlns="http://maven.apache.org/P
2017-11-29 14:39:48 6986
原创 h5+实现手机端的录音,拍照,录像
使用h5+即h5plus可以实现调用手机的功能实现语音的录制播放,图片上传下载,拍照,录像的功能,并提供上传下载的功能。开发工具使用hbuilder,该开发工具有模板和demo可以参考实现快速的开发app功能。使用h5调用硬件的功能,实现原生的效果,前端开发app周期短,开发速度快,入门门槛低,hbuilder还提供了一个mui库,可以实现很多手机原生ui的效果。
2017-11-21 12:23:16 41481 23
原创 java实现amr转mp3
由于amr格式的语音,在前端页面一般不能直接播放,需要后台转换,下面实现amr格式的语音转mp3. 下载jave-1.0.2.jar包,创建一个maven项目,在resources目录下创建一个lib目录,把jave-1.0.2.jar包拷贝到lib目录下,在pom.xml里面依赖jave-1.0.2.jar本地包,maven不能远程下载jave-1.0.2.jar包,需要本地引入,引
2017-11-14 17:11:21 8131
原创 SpringBoot37-分布式系统开发-基于Docker部署3
以spring cloud开发的微服务程序是否适合在docker环境下部署。代码参考之前的博客:http://blog.csdn.net/j903829182/article/details/78511059一,Dockerfile编写 前面博客的6个微服务的Dockerfile的编写几乎完全一致,下面以config模块为例。1,runboot.sh脚本编写 位于src/main/
2017-11-13 22:58:22 720
原创 SpringBoot36-分布式系统开发-spring cloud2
接着上一篇博客代码继续一,界面模块-ui本模块是一个网关模块1,依赖 本模块会使用ribbon,feign,zuul,以及CircuitBreaker,所以需要添加如下的依赖,如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2017-11-12 12:34:04 757
原创 SpringBoot35-分布式系统开发-spring cloud1
一,微服务、原生云应用 微服务(Microservice)是近两年来非常火的概念,它的含义是:使用定义好边界的小的独立组件来做好一件事情。微服务是相对于传统单块式架构而言的。 单块式架构是一份代码,部署和伸缩都是基于单个单元进行的。它的优点是易于部署,但是面临可用性,可伸缩性差,集中发布的生命周期以及违反单一功能原则。微服务的出现解决了这个问题,它以单个独立的服务来做一个功
2017-11-09 21:46:00 645
原创 SpringBoot34-springboot应用监控-http,JMX,SSH
spring boot提供了运行时的应用监控和管理的功能。我们可以通过http,JMX,SSH协议来进行操作。审计,监控及指标信息将会自动得到。 spring boot提供了监控和管理端点:actuator:所有EnPoint的列表,需要加入spring HATEOAS支持autoconfig:当前应用的所有自动配置beans:当前应用中所有Bean信息configprops:当前应用中
2017-11-06 21:30:02 11304
原创 SpringBoot33-springboot开发部署与测试-spring boot测试
spring boot的测试和spring mvc的测试类似。在spring boot中,每次新建项目的时候,都会自动加上spring-boot-starter-test的依赖,这样我们就没必要测试的时候再添加额外的jar包。 spring boot还会创建一个当前项目的测试类,位于src/test/java的包下: 新建一个spring boot项目 依赖jpa,web
2017-11-05 10:28:48 1097
原创 SpringBoot32-springboot开发部署与测试-云部署,基于Docker的部署
这篇将在centos7上用docker部署spring boot程序,学会如何编译自己的docker,并运行镜像的容器。 主流的云计算(PAAS)平台都支持发布Docker镜像。Docker是使用Dockerfile文件来编译自己的镜像的。一,Dockerfile Dockerfile主要有如下的指令: 1)FROM指令FROM指令指明了当前镜像继承的基镜像。编译当前镜像时会自动下载基
2017-11-02 22:17:57 607
原创 SpringBoot31-springboot开发部署与测试-开发热部署和常规部署
一,开发的热部署1,模板热部署 在spring boot里,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在applicaiotn.properties中关闭模板引擎的缓存,例如:Thymeleaf的配置:spring.thymeleaf.cache=falseFreeMarker的配置:spring.freemarker.cache=
2017-11-02 21:42:17 468
原创 spring boot实现图片的上传和下载功能
这篇博客简单介绍下spring boot下图片上传和下载,已经遇到的问题。首先需要创建一个spring boot项目。 1,核心的controller代码package com.qwrt.station.websocket.controller;import com.alibaba.fastjson.JSONObject;import com.qwrt.stati...
2017-10-31 19:26:52 31904 14
原创 SpringBoot30-springboot企业级开发-异步消息
异步消息主要目的是为了系统与系统之间的通信。所谓异步消息即消息发送者无须等待消息接收者的处理及返回,甚至无须关心消息是否发送成功。 在异步消息中有两个很重要的概念,即消息代理(message broker)和目的地(destination)。当消息发送者发送消息后,消息将由消息代理接管,消息代理保证消息传递到指定的目的地。 异步消息主要有两种形式的目的地:队列(queue)和主题(
2017-10-30 21:49:52 569
原创 springboot-websocket作为客户端
本篇博客主要记录下使用websocket作为客户端的功能一,websocket服务端1,创建一个spring boot项目 pom.xml的代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...
2017-10-25 16:23:36 19332
原创 SpringBoot29-springboot企业级开发-批处理Spring Batch
一,Spring Batch快速入门 1,什么是Spring Batch Spring Batch是用来处理大量数据操作的一个框架,主要用来读取大量数据,然后进行一定处理后输出指定的形式。2,Spring Batch主要组成 Spring Batch主要由以下几部分组成:JobRepository:用户注册Job的容器JobLauncher:用来启动Job的接口Job:我们
2017-10-20 23:20:33 4761
原创 spring boot AOP和spring boot统一异常处理
一,spring AOPspring boot使用AOP,代码如下,代码比较简单就不细说了,直接上代码,可以使用AOP做日志处理package com.qwrt.fire.sensor.aop;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.aspectj.lan
2017-10-20 14:33:42 8544 2
原创 SpringBoot28-springboot企业级开发-安全控制Spring Security
一,Spring Security快速入门1,什么是Spring Security Spring Security是专门针对基于Spring的项目的安全框架,充分利用了依赖注入和AOP来实现安全的功能。 在早期的Spring Security版本,使用Spring Security需要使用大量的xml配置,而下面将全部基于Java配置来实现Spring Security的功能
2017-10-12 21:28:02 1542
原创 SpringBoot27-spingboot数据访问-NoSQL(Redis)
Redis是一个基于键值对的开源内存数据存储,当然Redis也可以做数据存储。一,Spring的支持1,配置 Spring对Redis的支持也是通过Spring Data Redis来实现的,Spring Data JPA为我们提供了连接相关的ConnectionFactory和数据操作相关的RedisTemplate。在这里需要注意,Spring Data Redis值对Re
2017-10-11 21:32:18 486
原创 SpringBoot26-spingboot数据访问-NoSQL(MongDB)
NoSQL是对于不使用关系作为数据管理的数据库系统的统称。NoSQL的主要特点是不使用SQL语言作为查询语言,数据存储也不是固定的表,字段。 NoSQL数据库主要有文档存储型(MongoDB),图形关系存储型(Neo4j)和键值对存储型(Redis)。 本篇先演示基于MongoDB的数据访问,下一篇将演示基于Redis的数据访问。一,MongoDB Mon
2017-10-10 20:35:17 482
原创 SpringBoot25-spingboot数据访问-数据缓存Cache
我们知道一个程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的速度的。当我们需要重复地获取相同的数据的时候,我们一次又一次的请求数据库或者远程服务,导致大量的时间耗费在数据库查询或者远程方法调用上,导致程序性能的恶化,这便是数据缓存要解决的问题。一,Spring 缓存支持 Spring定义了org.springframework.cache.CacheManager和org.spr
2017-10-08 22:03:00 717
原创 SpringBoot24-spingboot数据访问-声明式事务
一,spring事务的机制 所有的数据访问技术都有事务处理机制,这些技术提供了API用来开启事务,提交事务来完成数据操作,或者在发生错误的时候回滚数据。 而spring的事务机制是用统一的机制来处理不同数据访问技术的事务处理。spring的事务机制提供了一个PlatformTransactionManager接口,不同的数据访问技术的事务使用不同的接口实现,如下:数据访问技术及
2017-10-05 11:07:49 1210
原创 SpringBoot23-spingboot数据访问-Spring Data REST
一,点睛Spring Data REST 1,什么是Spring Data REST Spring Data JPA是基于Spring Data的repository之上,可以将repository自动输出为REST资源。目前Spring Data REST支持将Spring Data JPA,Spring Data MongoDB,Spring Data Neo4j,Sprin
2017-10-05 08:36:13 1398
原创 SpringBoot22-spingboot数据访问-Spring Data JPA
一:电竞Spring Data JPA1,什么事Spring Data JPA 我们知道Hibernate是数据访问解决技术的绝对霸主,使用O/R映射技术实现数据访问,o/r映射即将领域模型类和数据库的表进行映射,通过程序操作对象而实现表数据操作的能力,让数据访问操作无须关注数据库相关的技术。 随着Hibernate的盛行,Hibernate主导了EJB3.0的JPA规范
2017-10-03 00:03:49 1164
原创 spring cloud config 用svn做配置文件仓库
spring cloud config 用svn做配置文件仓库spring cloud的配置文件中心分为服务端和客户端,下面是一个例子:一:服务端主要配置1,创建一个spring boot项目,修改pom.xml,添加jar包依赖,代码如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or
2017-09-11 18:03:41 1485
原创 zookeeper和kafka
zookeeper:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。kafka的使用需要依赖zook
2017-09-05 14:34:52 1775
原创 SpringBoot21-springboot的数据访问-引入Docker
Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案,Spring Data是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案。Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术。Spring Data包含的子项目有:Spring Data JPA,Spring Data MongoDB,Spring Data Neo
2017-08-21 23:08:28 433
原创 SpringBoot20-springboot的Web开发-WebSocket
一:什么是WebSocket WebSocket为浏览器和服务端提供了双工异步通信的功能,即浏览器可以向服务端发送消息,服务端也可以向浏览器发送消息。WebSocket需浏览器的支持,如ie10+,Chrome13+,Firefox6+,这对目前的浏览器来说不是什么问题了。 WebSocket是通过一个socket来实现双工异步通信的能力的。但是直接使用WebSocket(或
2017-08-21 23:04:07 4447 3
原创 设计模式12-策略模式
话说,三国演义中,孙权看出刘备有野心,杀不能杀,留着又是祸害,于是想出一个办法,准备招刘备做女婿。让后留着刘备在东吴,软禁刘备。东吴的想法很好,无奈有一个诸葛亮,他预测了东吴有此招数,于是在刘备去东吴招亲之前,特授给伴郎赵云三个锦囊,按天机拆开解决棘手问题。 这三个妙计分别是:找乔国老帮忙,求吴国太放行以及孙夫人断后。这三个计谋有一个方法都是执行,具体执行上面内容,每个计谋不同,执行不
2017-08-15 18:03:07 610
原创 设计模式11-装饰模式
装饰模式顾名思意,就是对原对象进行修饰。就像给房子装修一样,可以让房子好看。在java里面使用装饰模式,可以让对象的功能更加的好看,表达委婉。 假如有这样的一个场景,我们小时候考试,成绩考的不好,老师需要拿成绩单回去,给家长签字,由于成绩不好,根本不敢拿给家长看,更别说签名了。这时候如果我们能委婉的表达我们的成绩,说不定家长一高兴就签名了。看下面的类图:
2017-08-15 16:34:36 459 1
原创 SpringBoot19-springboot的Web开发-Favicon配置
Spring Boot提供了一个默认的Favicon,每次访问应用的时候都能看到,如下图:定制自己的Favicon一:关闭Favicon 我们可以在application.yml中设置关闭Favicon,默认为开启,spring: mvc: favicon: enabled: false二:设置自己的Favicon 若需设置自己的Favicon,则只需将自己的f
2017-08-13 21:36:15 4350 1
原创 SpringBoot18-springboot的Web开发-Tomcat配置
这里讲的tomcat配置,但其实指的是servlet容器的配置,因为Spring Boot默认内嵌的Tomcat为servlet容器,这里的配置对Tomcat,Jetty和Undertow都是通用的 一:配置Tomcat 关于Tomcat的所有属性都在org.springframework.boot.autoconfigure.web.ServerProperties配置类中做了定义,我们
2017-08-13 20:38:58 836
原生apphtml2.rar
2017-11-21
转换工具ffmpeg
2017-11-14
zookeeper-3.4.10.tar.gz
2017-06-21
锋利jquery
2015-11-27
commons-fileupload-1.3-bin.zip
2013-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人