- 博客(10)
- 收藏
- 关注
原创 设计模式之不简单的工厂模式(三)
上两篇文章中,讲述了简单工厂以及工厂方法模式,在此就不做赘述了,本篇重点讲述抽象工厂模式;抽象工厂模式(Abstract Factory Pattern)提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。抽象工厂模式有四种角色,分别为:抽象工厂、具体工厂、抽象产品和具体产品,抽象工厂模式的类图如下:通过上述类图可以很清楚的观察出各个角色之间的关系,产品系列里面有A
2016-09-21 06:43:05 672
原创 设计模式之不简单的工厂模式(二)
在这篇博客中,将讲解工厂方法模式,需要再次强调一下凡是提到工厂模式都是用来产生对象用的,下面开始思考这么一个场景:小张喜欢吃烤鱼,于是他走到他家附近的一家烤鱼店,跟服务员说,我要烤鲤鱼一份,然后找了个桌子,安心的坐下等待上菜,对于烤鱼店来说,他们接收到小张下的烤鲤鱼订单,首先准备一条鲤鱼,然后去清理,蒸熟,加上佐料烤,然后上桌,这么个过程,首先先编写一个鱼类及其部分子类,如下:public
2016-09-19 10:11:39 708
原创 设计模式之不简单的工厂模式(一)
谈起设计模式中两个最简单的设计模式第一个大家想到的应该就是单例模式,第二个想必就是工厂模式了,拿我自身而言之前一直以来对工厂方法认识较浅,只觉得所谓的工厂模式就是将创建对象的过程封装到一个工厂类里面,需要调用的时候传入参数然后返回指定的对象,好的,下面步入正题;说起工厂模式,要明确一个作用,就是用来创建对象的,将创建对象的方式从最基本的new语句解放出来,一般来说有三块知识点:1、简单工厂
2016-09-17 12:08:47 702
原创 Spring整合Quartz实现定时任务
Quartz框架是一个极其成功的开源任务调度框架,目前很多公司在实现任务调度上都直接使用或在借鉴的基础上实现了自己的任务调度框架,Quartz使用Trigger,Job和JobDetail对象实现调度各种各样的任务,为了更加便捷地在基于Spring应用中使用该框架,Spring提供了大量的类来简化Quartz的使用步骤;本篇文章将通过介绍Spring中如何对应Quartz的Trigger,Jo
2016-09-12 15:23:48 1705
原创 设计模式之单例模式的多重实现
单例模式,是设计模式中最简单的模式之一;这一模式的目的是使得类的一个对象称为系统中该类型的唯一实例,首先看一下它的完整定义:确保一个类只有一个实例,并提供一个全局访问点,下面来看一个经典的单例模式的实现:public class Singleton { // 声明一个用来记录Singleton类的唯一实例 private static Singleton uniqueInstance;
2016-09-09 21:14:01 1179
原创 java程序运行时,数据的存储地!
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1)寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2)堆栈。驻留于常规RAM(随机访问存储器)区域,
2016-09-09 09:57:18 956
原创 Hibernate之DetachedCriteria类详解
首先看DetachedCriteria这个类名,是由两个单词(detached和criteria)组成的,Criteria咱们知道是QBC查询主要接口之一,它通过组装各种Criterion对象来获取实体,Hibernate中的Session是产生Criteria的工厂,Criterion实例一般来说都是通过Restrictions类获取的,如下面这个例子:List cats = session
2016-09-08 11:08:14 15955 1
原创 Hibernate之Criteria查询
Hibernate中提供了三种查询方式,分别为HQL、Criteria查询、本地化SQL查询,实际应用中,有很多人忽略了Criteria的用处,觉得不如另外两种贴近SQL方式便捷,实际则未必,很多情况下Criteria更具有优势;本篇文章就对Criteria查询做一个全面的介绍,以期尽可能的将更多的Criteria强大的查询功能展现出来;1、首先新建一个Maven Web Project项目,
2016-09-05 15:43:20 13795 3
原创 MyBatis由浅入深学习总结之二:MyBatis解决Java实体类和数据库表字段不一致方法总结
在此,首先说明一点任何持久性框架都需要解决一个问题,那就是Java实体类的字段一般来说基本上会与数据库表中字段不一致,那么它们是如何解决的呢?咱们以Hibernate和SpringJDBC为例说明一下;1、Hibernate中一般通过XML映射和注解的方式解决不一致问题,看下面两个简单例子,注解方式:@Entity@Table(name = "ACCOUNT")public cla
2016-09-05 09:17:27 9550
原创 MyBatis由浅入深学习总结之一:MyBatis入门案例
一、MyBatis简介MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。这就是为什么很多人既把它称为iBatis又称为MyBatis的原因;2013年11月迁移到Github。MyBatis 是支持普通 SQL查询,存储过程和高级映射
2016-09-03 15:49:32 1169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人