自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 spring对事务的支持

1 spring对事务管理的支持采用传统的JDBC方式操作数据库时候,发现和事务相关的代码穿插在具体的业务逻辑代码中,在具体处理逻辑时,不得不考虑事务的提交和回滚操作。那么Spring如何时对事务实现管理和支持?Spring为事务管理提供了统一的事务管理模版类TransactionTemplate,也就是说对传统的JDBC进行了再次包装。持久层不管采用的是什么技术,都可以通过该事务管理模版类来管理...

2018-04-14 14:19:43 1028

原创 数据库事务简介

1 数据库事务1.1 概念事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。1.2 事务的特点1.2.1 原子性组成一个事务的多个数据库操作是一个不可分割的原子单元,这些原子单元不可能在进行分割,事务中的所有操作执行成功整个事务才可以提交,如果某个操作失败,那么执行成功的操作也必须撤销,让数据库恢复到原始状态1.2.2 隔离性源于数据的并发操作。两个事务拥有独立的数据...

2018-04-09 23:04:07 302

原创 AspectJ切面简介

1 采用AspectJ模拟事务提交定义AspectJ的步骤如下1.采用注解标@AspectJ标注对应的类2.采用注解声明切点3.实现增强声明接口public interface IOrders { public List<Orders> queryAllOrders() throws Exception; public Orders queryOrder(int i...

2018-04-08 17:36:03 1323

原创 Spring切面简介

1 切点简介代码下载增强提供了连接点信息(1.执行点即什么情况或者方法中织入增强,2.方位信息即在连接点执行前,执行后...)和织入逻辑。此时的增强适用于目标类的每个方法。必须要结合切点进行过滤才能将增强用于特定连接点,也就是说切点制定了过滤规则用来筛选连接点。如下是Pointcut的接口定义以及依赖关系Pointcut由ClassFilter和MethodMather组成。从类命的定义就可以知道...

2018-03-25 10:45:29 2084

原创 Spring增强类型介绍

1 增强类型Spring中提供的增强类包含两类1.Spring定义的扩展增强 2.aoppalliance定义的扩展增强其中Spring提供的扩展增强主要针对于方法即方法级增强,aoppalliace即提供了方法级的增强(MethodInterceptor)也提供引介增强(IntroductionInterceptor),引介增强可以给类添加属性和行为所以引介增强属于类级别1.1 前置增强顾名思义...

2018-03-20 21:23:43 3053

原创 Spring AOP术语解释和动态代理

1 AOP术语1.1 连接点(JoinPoint)类或者方法中具有边界性质的特定点(eg:类初始化前后,方法调用前后,方法抛出异常后),可以理解成为位置,只不过该位置是针对方法并且范围不精确。Spring仅支持方法级的连接点即仅能在方法调用前后,方法抛出异常时将对应的增强织入。连接点包含两个方面的信息:1.用方法表示的程序执行点即方法 2.用执行点的相对位置表示方位即方法调用前的位置。add(.....

2018-03-18 19:24:43 310

原创 Spring IOC 内部工作机制

1 Spring内部工作机制ApplicationContext的默认实现是AbstractApplicationContext,可以通过refresh()窥探Spring在刷新时的动作// 初始化BeanFactoryConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();…… //调用工厂后处理...

2018-03-18 12:19:10 979

原创 Spring装配Bean

1 容器内部协作及简介1.容器在启动时,读取Bean配置元数据信息(eg:实现类,属性,依赖关系以及配置行为(eg实现Bean级生命周期接口))2.解析读取的信息将Bean构建成BeanDefinition对象并形成Bean注册表3.容器根据BeanDefinition注册表实例化 & 组装 & 执行Bean相应的配置方法以及生命周期方法并将Bean放在Bean缓存池中4.应用程序...

2018-03-13 21:32:46 327

原创 Bean生命周期

1. Bean生命周期黄色:容器级生命周期接口方法红色:Bean级生命周期接口方法蓝色:Bean自身的方法具体过程如下:1.通过调用getBean()向容器请求某个Bean时,如果容器注册了InstantiationAwareBeanPostProcessor接口,将调用postProcessBeforeInstantiation().此时可以获得Bean的类型即Bean的Class信息,可以通过...

2018-03-11 23:05:50 323

原创 Spring BeanFactory 和 ApplicationContext

Spring通过配置文件描述了Bean和Bean之间的依赖关系,通过java反射实例化bean并建立彼此的依赖关系。除此之外还提供了Bean实例的缓存,生命周期的管理,bean实例代理,时间发布,资源装载等1 BeanFactory1.1 简介属于Spring的核心接口,提供了高级IOC的配置机制,BeanFactory是框架的基本设施,面向spring本身,BeanFactory在启动容器时,并...

2018-03-11 16:47:02 2163

原创 Spring资源加载

1 资源接口,继承关系,类简介1.1 资源接口Resource接口为应用提供了底层资源访问的能力。该接口的主要作用是描述实际的资源。public interface Resource extends InputStreamSource { //资源是否存在 boolean exists(); //资源是否可读 default boolean isReadable() {return tru...

2018-03-10 22:40:48 1311

原创 Spring资源加载基础ClassLoader

1 ClassLoader工作机制1.1 ClassLoader作用寻找类字节码文件并构造出类在JVM内部表示的组件.负责运行时查找和装入Class字节码文件1.2 装载步骤1.2.1 装载查找装载class字节码文件1.2.2 链接执行校验,准备和解析步骤,其中解析步骤时可选的1.2.2.1 校验检查装载Class文件的正确性1.2.2.2 准备给类的静态变量分配存储空间1.2.2.3 解析将符...

2018-03-08 00:09:39 5569

原创 Android 启动线程OOM

启动线程OOM有两种情况case 1:pthread_create failed: couldn't allocate 1069056-bytes mapped space: Out of memorypthread_create failed: couldn't allocate 1069056-bytes mapped space: Out of memoryThrowing OutOfMem...

2018-03-05 22:19:11 5238

原创 SSM整合

1.项目截图2 整合Log4j1 编写lo g4j属性文件可以参考官方网站,也可以直接中网上下载后进行修改log4j.properties文件#log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILElog4j.rootLogger=DEBUG,CONSOLE,FILElog4j.addivity.org.apache

2017-09-09 20:08:05 342

原创 IDEA+SpringMVC+Maven环境搭建

step 1:Create New Project->Next

2017-08-25 01:35:26 619

原创 java动态/静态绑定以及双分派

动态绑定:程序在运行期间而不是在编译期间,根据所引用对象的实际类型调用对应的方法,重写以及接口的实现都属于该范畴,使用实际的对象信息来完成API的调用public class DynamicBind { public static void main(String[] args) { Father f = new Father(); f.metho

2017-08-25 00:43:06 584

原创 设计模式->行为型模式->访问者模式

1.定义:作用于某对象结构中的各个元素的操作,可以在不改变元素类的前提下定义作用于这些元素的新操作2.UML3.涉及角色1.抽象访问者:定义了访问者需要访问的元素,该元素采用参数的形式声明,违背依赖倒置原则2.具体访问者:实现抽象访问者声明的操作,实现算法的一部分 该算法片段对应于结构对象中类3.抽象元素:该类中的方法有两种 1自有方法2接受访问者访问的方法,接受访

2017-08-25 00:31:15 288

原创 设计模式->行为型模式->中介者模式

1.定义:使用一个中介者对象来封装一系列的对象交互。中介者是对象之间不需要显示的互相引用。从而使个各个对象之间松耦合,而且可以独立的改变它们之间的交互2.UML3.涉及角色1.抽象中介者:定义了同事类到中介对象的接口,同时负责对象之间的交互该行为被延迟到子类2.抽象同事类:持有中介角色实例,也可以理解为将中介角色注册到抽象同事类中,凡是抽象同事类的子类都会持有中介角色实

2017-07-25 23:36:22 327

原创 设计模式->行为型模式->状态模式

1.定义:当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是改变了其类2.UML3.涉及角色1.抽象状态角色:一般为抽象类或者接口。封装了当前Context的一个特定状态下的相关行为,即一个Context和一个状态关联,该状态决定了具体的行为2.环境角色:客户端需要的角色并且负责具体状态的切换主要职责:维护一个Status实例,该实例就是当前的状态.次

2017-07-04 21:52:12 267

原创 设计模式->行为型模式->备忘录模式

1.定义:在不破坏封装性的前提下,捕获一个对象的部分状态并在该对象之外保存这些状态。这样可以将该对象回复到原先保存的状态2.UML3.涉及角色1.发起人角色:负责创建备忘录,用以记录当前时刻的状态并可食用备忘录回复状态。发起人根据需要可以将部分或者全部信息存储到备忘录中2.备忘录角色:负责存储发起者角色的状态并可防治除发起者角色之外的对象修改状态。需要注意的是:备忘录角

2017-06-27 23:19:02 276

原创 设计模式->行为型模式->命令模式

1.定义:将一个请求封装成一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志以及支持可撤销的操作2.UML3.涉及角色1.抽象命令角色:定义了所有需要执行的命令即命令集体的行为eg:执行,回滚,撤销等2.抽象接接收者角色:接受者需要处理对应的业务逻辑,知道如何执行一个请求相关的操作3.具体命令角色:持有接收者的实例,调用接收者的具体操作完成命

2017-06-26 22:51:10 354

原创 设计模式->行为型模式->迭代器模式

1.定义:提供一种方法访问容器对象中的各个元素,但是不暴露容器中对象的内部细节2.UML3.涉及角色1.抽象迭代器角色:定义了遍历以及访问容器对象的行为2.抽象容器角色:定义了对容器的操作以及获得该容器迭代器的行为3.具体迭代器:抽象迭代器具体子类,即遍历以及访问容器对象具体逻辑的实现者4.具体角色容器:容器操作具体逻辑以及获得迭代器的具体实现4.优

2017-06-21 23:36:06 276

原创 设计模式->行为型模式->责任链模式

1.定义:是多个对象都能够处理请求,避免请求发送者和处理者之间的耦合。将请求处理对象连成一条链,请求将会沿着该链传递并最终被处理2.UML3.涉及角色1.抽象请求处理角色:一般为抽象类,定义类处理请求的行为,该类持有自己的实例。该实例具体含义为下一个处理请求的对象2.具体请求处理角色:请求处理的行为的具体实现者4.优点1.请求和处理分开实现两者之间的解耦,请

2017-06-20 21:48:31 309

原创 设计模式->行为型模式->观察者模式

1.定义:又称订阅/发布模式,定义了对象间一种一对的的依赖关系,使得每当一个对象状态改变时,所有依赖它的对象都会得到通知并自动更新该模式下行为的继承>类型的继承。抽象观察者和具体观察者之间属于行为继承2.UML(推模式)3.涉及角色1.抽象主题(被观察者):含有抽象观察者的聚集,并实现了对该具体的操作主要涉及对观察者的删除/新增。管理观察者以及通知观察者。2.抽象观

2017-06-13 22:33:53 266

原创 设计模式->行为型模式->模版方法模式

1.定义:定义了一个操作中的算法结构,将某些步骤延迟大子类,使得子类可以不改变该算法机构的前提下从新定义该算法中某些特定的步骤2.UML3.涉及角色1.抽象模版:定义了该算法结构具有的行为,行为分为 1.基本行为:该类行为延迟到子类,也就是说子类负责具体的实现  2.模版行为:负责对基本行为的使用并在该处固化具体的

2017-06-06 22:31:58 307

原创 设计模式->行为型模式->策略模式

1.定义:定义了一组算法并分别封装,使彼此之间可以相互替换,该模式下算法的变化不会影响到使用算法的客户端2.UML3.涉及角色1.抽象策略:该组算法的最上层接口,定义了该组算法需要实现的行为2.具体策略:具体行为的实现者,是抽象策略的子类3.策略上下文:持有抽象策略实例,屏蔽高层模块对具体策略的直接访问,封装了可能存在的变化,有承上启下的作用4.优点

2017-06-04 20:38:21 219

原创 设计模式->结构型模式->装饰者模式

1.定义:动态的给一个对象添加一些额外的职责,就增加功能来说该模式比生成子类更加灵活。类型的继承 > 行为的继承2.UML:3.涉及角色        抽象组件角色:一般为抽象类或者接口主要定义了最原始最核心的行为        具体组件角色:抽象组件行为的具体实现,该实现也是最原始最核心的,其实可以理解为最基本的行为。该角色也是后续需要装饰的对象即被装饰者

2017-06-04 18:56:02 396

原创 设计模式->结构型模式->享元模式

1.定义:该模式是池技术的基础,运用共享对象有效的支持大量细粒度对象细粒度对象该对象的性质基本相同或者相似且对象很多将细粒度对象分为两部分1.1内部状态存储在享元对象内部的,并且不会随着环境的改变而改变,一个享元可以具有内蕴状态并可以共享。1.2外部状态是随环境的改变而改变的、不可以共享的。享元对象的外部状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候再传入到

2017-06-01 21:28:20 321

原创 设计模式->结构型模式->组合模式(部分-整体模式)

1.定义:将对象组合成树形结构以表示"部分-整体"的层次结构,该模式时客户端对部分和整体的访问具有一致性。

2017-05-17 22:57:00 367

原创 设计模式->结构型模式->桥接模式

1.定义:要求一个子系统的内部与外部的通信只能通过一个统一的对象。此模式提供一个高层接口,使子系统更易使用

2017-05-07 13:45:33 286

原创 设计模式->结构型模式->外观模式(门面模式)

1.定义:要求一个子系统的内部与外部的通信只能通过一个统一的对象。此模式提供一个高层接口,使子系统更易使用2.UML:3.理论基础:封装,有可能涉及多态4.涉及角色:        门面角色:外界通过该角色访问子系统,该角色是子系统分友元角色,即该角色知道各个子系统对的职责以及功能。一般情况下该角色会将外界的请求委派到各个子系统中。可以看出该角色的主要职责由

2017-05-06 17:12:48 336

原创 设计模式->结构型模式->代理模式

1.定义:为其他对象提供一种代理以控制对该对象的访问2.UML(通用)3.理论基础:里氏替换原则,继承,多态4.涉及角色:        抽象主题:定义一组和业务相关的操作,一般为接口或者抽象类        真实主题:被代理者或者委托者,真正的业务处理类,        代理:该模式的核心,负责对真实主题的应用,把所有抽象主

2017-04-29 00:41:01 370

原创 设计模式->结构型模式->适配器模式

1.定义:将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容而不能一起工作的类可以一起工作2.UML2.1类适配器模式2.2 对象适配器3.理论基础:里氏替换原则,继承,多态4.涉及角色:        目标接口:客户端希望的类型        源接口/源目标:软件单位内存在的类型,实现了具体的功能        适

2017-04-24 21:37:07 290

原创 设计模式->创建型模式->建造者模式

1.定义:将一个复杂对象的创建和表示分离,是相同的构建过程产生构建出不同的表示。该模式倾向于流程抽象2.UML3.理论基础:继承,抽象4.涉及角色:        抽象构建者:定义了构建某类抽象产品的具体流程。属于流程的抽象。因为产品是按照流程逐步构建的所以需要提供获得产品的访问点。总结作用主要有1.定义产品构建流程。2.提供获得产品访问点

2017-04-23 22:13:10 282

原创 设计模式->创建型模式->原型模式

1.定义:用原型实例指定创建对象的种类,并通过拷贝现有原型实例创建新实例。通俗的讲就是采用现有实例通过拷贝的方式创建新实例2.UML2.1 通用2.2 UML for JAVA:在java中需要实现该模式只需要实现Cloneable接口并重写该clone()3.理论基础:继承4.涉及角色:        抽象原型类:定义了采用

2017-04-20 23:53:38 259

原创 设计模式->创建型模式->简单工厂模式

1.定义:将对象的创建委托给另一个类,客户端只负责消费对象,不负责对象的创建。即定一个用来创建某类对象的类2.UML:3.理论基础:里氏替换原则,继承,多态4.设计角色:        抽象产品:产品对象的抽象,主要定义了产品具有的属性和行为        产品工厂:该模式的核心,主要负责产品的创建,创建方法返回值为抽象产品        具体产品:抽象产品

2017-04-16 23:19:57 333

原创 设计模式->创建型模式->单例模式

单例模式有三个要点:1.单例模式主要的特点就是在整个jvm中该类的实例只有一个2.类本身自己创建对象,不允许外界创建对象3.类本身必须自行向系统提供该实例//单例模式  version0.0.001public class SingleIntance { //持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 private static Si

2017-02-09 21:38:37 352

原创 设计模式->创建型模式->抽象工厂模式

产品族:'位于不同产品等级结构中,功能相关联的产品组成的家族.一般是位于不同等级机构中的相同位置.每一个产品族中含有产品的数目和产品等级结构的数目是相等的.涉及角色:1.抽象产品.存在多个抽象产品,彼此存在联系2.具体产品.肯能存在多个具体产品3.抽象工厂.含有创建产品实例的方法,方法的返回值必须是抽象产品类型,这也是该模式的核心所在4.具体产品工厂:实现了抽象工厂.在该工

2017-01-24 22:31:59 359

原创 设计模式->创建型模式->工厂方法模式

创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

2017-01-22 00:04:56 334

原创 设计模式遵循原则

在具体的设计模式之前需要说一说设计模式遵循的几个原则1.开闭原则 Open Close Principle从字面理解是冲突的,但是所谓的开闭是不同方向的.对扩展开放,对修改关闭.扩展开放:模块功能是可以扩展的,当需求发生变化时候,我们需要对模块做出扩展.使模块具备需求中定义的新行为修改关闭:当需求发生变化时候导致有新的行为产生时,对现有的模块不允许修改.实现开闭原则的关键在于抽

2017-01-21 14:32:22 543

Spring切面简介示例代码

Spring切面简介示例代码,方便后续自己再次回顾和学些

2018-03-25

Spring + SpringMVC + Myibatis + Druid 整合源码

Spring + SpringMVC + Myibatis + Druid 整合源码,修改log4j.properties中log4j.appender.A1.File=YOUR-LOG-PATH,log4j.appender.FILE.File=YOUR-LOG-FILE

2017-09-09

SIMalliance_OpenMobileAPI2_05_release-Feb143

SIMalliance_OpenMobileAPI2_05_release-Feb143

2016-01-28

Ext23.2.0API

Ext23.2.0API

2011-12-05

javaAPI

javaAPI

2011-11-30

Jquery_PAI

Jquery_PAI讲解jQuery的函数带有示例

2010-08-05

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

TA关注的人

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