摘要:代理模式是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用; 所谓代理,就是一个人或者机构代表另一个人或者机构采取行动,在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用; 在代理模式中的角色: 抽象对象角色:
阅读全文
摘要:装饰模式又名包装模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 在装饰模式中的角色有: 抽象构件角色:给出一个抽象接口,以规范准备接受附加责任的对象。 具体构件角色:定义一个将要接受附加责任的类; 装饰角色:持有一个构件对象的实例,并定义一个与抽象构件接口一致的接口;
阅读全文
摘要:合成模式属于对象的结构模式,有时又叫做“部分--整体”模式。合成模式将对象组织到树结构中国,可以用来描述整体与部分的关系,合成模式可以使客户端将单纯元素与复合元素同等看待; 涉及到三个角色; 抽象构件:这就相当于一个抽象角色,它给参加组合的对象定义出公共的接口及其默认行为,可以用来管理所有的子对象,
阅读全文
摘要:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起敢做的两个类能够在一起工作。 适配器模式的用途: 用电器做例子,笔记本电脑的插头一般是三相的,即除了阳极,阴极外,还有一个地级,而有些地方的电源插座只有两级,没有地级,电源插座与笔记本的电脑插头不匹配使得笔记本
阅读全文
摘要:原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的用意; 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例,这样一来,通过原型实例创建新的对象,就不再需要
阅读全文
摘要:建造模式是对象的创建模式,建造模式可以将一个产品的内部表象与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 在这个模式中,有四个角色; 抽象建造者:给出一个抽象接扩口,以规范产品对象的各个组成成分的建造,一般而言,此接口独立于应用程序的商业逻辑,模式中直接创建产品对
阅读全文
摘要:抽象工厂模式,让我们来继续前面的假设好了,我们知道,不管是洋娃娃还是小汽车,都需要电池的吧,不管精不精致,但是精致点的肯定电池也要好一点,而电池也有分不同的类型的,给洋娃娃用的电子电池,和给小气池用的充电电池,那么先从最简单的简单工厂说起,假设就一个厂,那么你得生产洋娃娃和小汽车,2种,精致的不精致
阅读全文
摘要:工厂方法模式是类的创建模式,又叫做虚拟构造子模式或者多态性工厂模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 简单地说,就是简单工厂模式的进化版,我们在上一章博客写到的玩具厂例子,在这里依旧可以用,我们假设,在生产洋娃娃和小汽车的时候,还要分为劣质的和精致的
阅读全文
摘要:简单工厂模式是类的创建模式,又叫做静态工厂方法,简单工厂模式是一个工厂对象决定创建出哪一个产品类的实例。 下面是个人的理解,在这个简单的工厂模式中,工厂类显然是核心所在,作为工厂类,它的方法是一个静态的方法,所以这个类也就是静态的类,而这个类里面的方法是一个返回类型为类类型,参数类型为字符串类型的方
阅读全文
摘要:我们知道,有的时候,你需要去拼接SQL,而MyBatis提供对SQL语句动态的组装能力,而且它只有几个基本的元素,下面我们来依次讲讲这些元素; 分为四个元素,if(判断语句),单条件的分支判断 choose(when,otherwise)相当于java中的case when语句,多条件分支判断 tr
阅读全文
摘要:我们这里说的三层级联和二级缓存其实也是MyBatis映射器的知识点,只是因为比较难理解,所以单独拿出来讲解,下面是三层级联的内容; 我们知道,在数据库中包含着一对一,一对多,多对多的关系,例如,我们希望在查出学生表的时候,能够连着查出学生证表的信息,这就是一对一的关系查询,我们又希望,能够在查出学生
阅读全文
摘要:映射器是MyBatis最强大的工具,也是我们使用MyBatis时用的最多的工具,映射器中主要有增删改查四大元素,来满足不同场景的需要; 下面是主要元素的介绍; select:查询语句,insert:插入语句,update:更新语句;delete:删除语句;sql:允许定义一部分的SQL,然后在各个地
阅读全文
摘要:在MyBatis中,不免会有一些配置要设置,我们先来看一下MyBatis配置XML文件的层次结构,这些层次是不能够颠倒顺序的,下面是层次结构; 以上就是MyBatis的所有配置属性了,接下来我们来一个个详细分析; 首先是properties元素;有三种配置方式;property子元素,propert
阅读全文
摘要:首先,让我们先对Bean进行理解;什么是Bean,为什么要有Bean,如何装配Bean; 1,什么是Bean? Bean你可以看成是一个组件,在框架开发中,所谓的项目就是由一个个的组件构建而成的,有拦截请求的前端控制器,有负责找到相应响应的适配器,有负责处理进行数据映射的映射器,而这些都可以称为组件
阅读全文
摘要:在学习MyBatis之前,我们需要先了解一下传统的JDBC编程,整个过程分为以下几步; 1,使用JDBC编程需要连接数据库,注册驱动和数据信息; 2,操作Connection,打开Statement对象; 3,通过Statement执行SQL,返回结果到ResultSet对象; 4,使用Result
阅读全文
摘要:这个部分主要分成三块,文件上传,文件下载,拦截器; 文件上传和下载好理解,但是拦截器的主要功能还是说你在进行登录的时候,假如你还没登录,然后就跳主页的话,就会把你给拦截下来;下面开始文件上传的功能描述; 为了能上传文件,必须将表单里的method设置为POST,并将enctype设置为multipa
阅读全文
摘要:在SpringMVC中,根据请求方法签名不同,将请求消息中的消息以一定的方式转换并绑定到请求方法的参数中,在请求信息到达真正调用处理方法的这一段时间内,SpringMVC还会完成很多其他的工作,包括了请求信息转换,数据转换,数据格式化以及数据效验; 下面的内容分为三部分,数据转换,数据格式化和数据校
阅读全文