自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (5)
  • 收藏
  • 关注

原创 数据源与连接池

背景十一之后需要apply VPD到我们的项目中,在每一次数据库查询前,进行一次存储过程调用修改上下文。这样,VPD利用上下文中的变量值对查询结果遍历。因此需要对所有用到的JPA实现做一下整理,包括数据源。我们知道JDBC查询的时候都是需要四个步骤:1. 加载数据库驱动2. 获取数据库连接3. 查询4. 释放连接,遍历查询结果。我们要做的就是在第3步查询前,先call 一次存储过程。这个就显得修改...

2018-06-27 21:31:06 5200 2

原创 Java IO与装饰者模式整理

Java的I/O是实现输入和输出的基础。Java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。这样就可以做到设备、平台无关的。分类Java中I/O类分两两类:字节流和字符流。每种又分输入流和输出流。字符流类图...

2018-06-25 11:52:20 923

原创 Java8之函数接口

函数接口Java8新特性提供了函数式接口,用于更好的支持函数式编程。定义所谓函数式接口就是只有一个抽象方法的接口。Java8中可以通过注解(@FunctionalInterface)来限定它(即便不加注解,只有一个抽象方法默认也是函数式接口)。比如:public interface MyInterface { void myFunction();}加上注解@FunctionalInter...

2018-06-24 17:45:47 1649

原创 物化视图

年前项目中跟一个Domain的数据查询数据没及时刷新的问题。后来就考虑使用物化视图,然后每天刷新两次来保持同步。这里整理下。视图视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定。比如下边代码就是创建一个视图,然后每次查询都直接基于视图,查询语句也会简单化。CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHER...

2018-06-17 18:59:37 728

原创 StarUML技巧

最近在share一个模块设计时,同事觉得使用时有些图标没Rational Rose好看易用。这里整理share一下。StarUMLStarUML是一款开放源码的UML开发工具。相比于其他UML工具,有以下几个优点:1.可以免费下载。另外源码开放,可以安装或者自己喜欢的插件。2.可以导出很多种图片格式,3.能够绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构...

2018-06-14 16:13:02 4727

原创 设计模式之代理模式

代理模式代理模式是常用的设计模式之一。《Head First 设计模式》中定义如下:代理模式,即为另一个对象提供一个替身或者占位符以控制对这个对象的访问。说起代理模式,最熟悉的莫过于Java中的RMI了,即远程方法调用(Remote Method Invocation)。它能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。过程大致如下:1. 客户对象调...

2018-06-13 23:52:55 184

原创 面向对象设计七大原则

最近团队在学习Agile 和 Clean Code。然后对面向对象设计的一些原则进行了一些学习和整理。包括SOLID、合成复用原则与迪米特法则。可维护性Robert C.Martin认为⼀个可维护性较低的软件设计,通常由于如下四个原因造成:• 过于僵硬(Rigidity)• 过于脆弱(Fragility)• 复用率低(Immobility)• 黏度过高(Viscosity) 可复用性Peter C...

2018-06-07 17:28:00 3023 2

原创 Spring MVC启动

Spring MVCJava Web项目一般都是基于Spring MVC 的。而Spring MVC是建立在IoC容器基础上的。我们知道,Spring MVC和Spring IoC 都是独立的模块,因此web下需要将IoC容器启动与Web容器的启动过程集成在一起。下边看下是怎么做到的。Servlet规范这里我们先看下 Servlet 规范,即Java Servlet Specification。也...

2018-06-06 08:53:03 1215

原创 支付宝用到的开源框架

最近翻了下支付宝,在“设置”》“关于”》“版权信息”中,发现支付宝列出了一些使用到的开源框架,一共38个(有个重复不知道为啥)。这里列举一下:名称许可证是否经过修改FFmpegGNU LGPL v2.1否ProtocolBuffersApache v2.0否SPDYApache v2.0否GTM/AliSecXCryptoGTMDefines.hApache v2.0否gumbo-parserAp...

2018-06-05 11:44:28 2076 1

原创 Java 8之Stream入门

StreamJava8新特性增加了一个新的抽象称为流Stream。目的在于弥补Java函数式编程的缺陷。将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。同时它提供串行和并行两种模式进行汇聚...

2018-06-03 17:54:45 561

Interface Segregation Principle

Robert Martin 的文章《ISP: The Interface Segregation Principle》。

2018-06-06

里氏代换原则原文

里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstraction and Hierarchy》里面提出来的,主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承,以及其中的蕴涵的原理。2002年,软件工程大师Robert C. Martin,出版了一本《Agile Software Development Principles Patterns and Practices》,在文中他把里氏代换原则最终简化为一句话:“Subtypes must be substitutable for their base types”。也就是,子类必须能够替换成它们的基类。

2018-06-06

Moco入门代码

简单介绍Moco两种使用方式:支持 API 和独立运行。演示接口测试

2018-03-18

Spring动态代理

Spring MVC中利用动态代理记录日志,通过注解的方式记录日志。Spring MVC+ Restful。

2016-05-04

空空如也

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

TA关注的人

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