
Spring
以十
装饰过去,构造现在,设计未来
展开
-
非设计模式-简单工厂
简单工厂 例:org.springframework.beans.factory.BeanFactory 核心奥义:不作区分,所有的实例化放在同一个类中,根据标识进行选择;传入一个标识,返回一个(或一组)实例。 Spring的xml <bean id="beanId" class="clazz"></bean> 实例化bean的时候是使用显性id或者classname...原创 2019-09-12 11:20:35 · 150 阅读 · 0 评论 -
模版方法模式
例:org.springframework.context.support.AbstractApplicationContext 定义算法 预留插槽 有自己的工厂,实例在具体的工厂中产生。 因为多态、依赖抽象这两个点,通常我们在使用工厂方法时,会在上层定义一个获取当前工厂实例的方法。 ...原创 2019-09-12 11:44:36 · 191 阅读 · 0 评论 -
抽象工厂模式
例:org.springframework.beans.factory.support.DefaultListableBeanFactory 核心奥义:【组装】从各方获取原料,然后在当前类依照一定的逻辑组装成实例对象。原创 2019-09-12 15:36:20 · 182 阅读 · 0 评论 -
单例模式-三种实现【延迟实例化、急切实例化、内部类】
例:org.springframework.beans.factory.support.DefaultSingletonBeanRegistry 核心奥义:相同条件下,最多只存在一个实例,每次使用时进行获取,获取不到时进行实例化,同一时间只允许一个线程进行实例化 延迟实例化 使用同步锁保障线程安全,同时可以使用volatile保证线程通信(数据同步) 缺点:第一次实例化时,线程需要等待,如果同...原创 2019-09-12 17:01:40 · 448 阅读 · 0 评论 -
命令模式-Spring框架JdbcTemplate
概述 最近回顾了一下设计模式。想到Spring框架中,使用设计模式挺多的。于是搜索了一下Spring中有没有使用命令模式? 参照:命令模式浅析,然后对Spring中的JdbcTemplate类进行了源码阅读,现在就命令模式,对JdbcTemplate中的部分代码做一下解读。 命令模式简介 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个, 我们...转载 2019-09-12 17:21:26 · 581 阅读 · 0 评论 -
适配器模式-披着羊皮的狼
例:org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter 核心奥义:间谍?卧底?披着羊皮的狼?总之就是使外在表现发生变化,以适用于目标群体;适配器模式要达到的目标是,通过一些处理,将狼(行为)伪装成羊 目标接口(狼) 适配器(羊皮) 小绵羊 ...原创 2019-09-12 17:47:21 · 274 阅读 · 0 评论 -
外观模式-智能遥控
例: 核心奥义:方便、快捷、友好;外观模式的目的是,在保留原有能力的前提下,通过整合、转化提供一个更优秀的交互方式原创 2019-09-16 09:21:24 · 166 阅读 · 0 评论 -
获取mybatis的BaseDao的范型类型
类结构 public interface BaseDao<T> extends Mapper<T> { } public interface PoDao extends BaseDao<Po> { } @Service public class PoService { @Autowired private PoDao poDao; ...原创 2019-09-19 15:49:20 · 727 阅读 · 0 评论