君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

2012年9月23日 #

摘要: 转载http://blog.csdn.net/chensugang/article/details/3423650今天学习了一下Spring的BeanPostProcessor接口,该接口作用是:如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现。下面我们来看一个简单的例子:packagecom.spring.test.di;importorg.springframework.beans.BeansException;importorg.springframework.beans 阅读全文
posted @ 2012-09-23 15:08 刺猬的温驯 阅读(422) 评论(0) 推荐(0) 编辑

摘要: 1.概述 Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean,这两种Bean都被容器管理,但工厂Bean跟普通Bean不同,其返回的对象不是指定类的一个实例,其返回的是该FactoryBean的getObject方法所返回的对象。在Spring框架内部,有很多地方有FactoryBean的实现类,它们在很多应用如(Spring的AOP、ORM、事务管理)及与其它第三框架(ehCache)集成时都有体现,下面简单分析FactoryBean的用法。2.实例以下SimpleFactoryBean类实现了FactoryBean接口中的三个方法。 并将 阅读全文
posted @ 2012-09-23 13:32 刺猬的温驯 阅读(13711) 评论(1) 推荐(1) 编辑

摘要: 在sping中提供了另一种实现template模式的方法,利用接口回调函数.(1)TransactionTemplate的示例代码:publicclassTransactionTemplateextendsDefaultTransactionDefinitionimplementsInitializingBean{..........//进行事务处理的骨架,指明事务处理的顺序publicObjectexecute(TransactionCallbackaction)throwsTransactionException{TransactionStatusstatus=this.transacti 阅读全文
posted @ 2012-09-23 12:42 刺猬的温驯 阅读(743) 评论(0) 推荐(0) 编辑

摘要: Spring的AOP是建立在Java的动态代理的基础上的,学习Java动态代理机制有助于循序渐进地理解AOP的思想。 传统的日志输出方法是在每一个业务逻辑方法里编写记录日志的代码,这样,程序中就会有很多类似的日志输出代码,造成了很大的耦合。那么,使用什么方法可以使业务逻辑和输出日志的代码分离,并实现日志信息代码的重用呢?Java的代理机制可以改善这个问题。 首先编写一个日志信息的代理类,这个类实现了接口InvocationHandler,然后编写一个接口,并实现这个接口,在实现类中编写具体的逻辑代码,最后针对接口编写测试类,查看测试结果。具体步骤如下: (1)编写一个日志信息的代理类LogPr 阅读全文
posted @ 2012-09-23 03:34 刺猬的温驯 阅读(1005) 评论(0) 推荐(0) 编辑

摘要: 转载http://explore.iteye.com/blog/667992Spring对JDBC的抽象和对Hibernate的集成,都采用了一种理念或者处理方式,那就是模板方法模式与相应的Callback接口相结合。采用模板方法模式是为了以一种统一而集中的方式来处理资源的获取和释放,以JdbcTempalte为例,如下:Java代码publicabstractclassJdbcTemplate{publicfinalObjectexecute(Stringsql){Connectioncon=null;Statementstmt=null;try{con=getConnection();st 阅读全文
posted @ 2012-09-23 02:52 刺猬的温驯 阅读(306) 评论(0) 推荐(0) 编辑

摘要: 转载http://rickyboy.iteye.com/blog/568605观察者模式在不仅在java SWT中还是spring hibernate 应用都是非常广泛的,下面就我的理解做个记录。首先要理解一些概念是必须的事件源:事件源就是一个事件发生的组件,例如按钮,面板,在spring中可以表现为容器。事件:我们都知道当我们点击一下按钮就是一个事件发生了。在具体表现为ActionEvent类。比如时钟Timer类发生定时性动作时。监听器:当某个事件发生的时候,监听器就会监听到,来进行相应的动作。当然一个容器有可能既是事件源。下面是一个spring的观察者模式的事件的例子,在spring中要 阅读全文
posted @ 2012-09-23 02:48 刺猬的温驯 阅读(480) 评论(0) 推荐(0) 编辑

摘要: 阅读spring secirity源码,发现其中的代理模式用例UserDetailsService接口publicinterfaceUserDetailsService{//~Methods========================================================================================================/***Locatestheuserbasedontheusername.Intheactualimplementation,thesearchmaypossiblybecase*insensitive 阅读全文
posted @ 2012-09-23 02:34 刺猬的温驯 阅读(884) 评论(0) 推荐(0) 编辑

摘要: 转载http://liuxi1024.iteye.com/blog/583145 策略模式(Strategy Pattern)中体现了两个非常基本的面向对象设计的基本原则:封装变化的概念;编程中使用接口,而不是对接口实现。策略模式的定义如下:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是弱连接的关系。弱连接的特性使软件具有更强的可扩展性,易于维护;更重要的是,它大大提高了软件的可重用性。下面使用spring中源码说明策略模式(spring va. 阅读全文
posted @ 2012-09-23 02:19 刺猬的温驯 阅读(725) 评论(0) 推荐(0) 编辑

摘要: JDBCContext类主要解决数据连接的问题publicclassJDBCContext{privatestaticfinalLoglog=LogFactory.getLog(JDBCContext.class);//privateDatabasedatabase;privateDataSourcedatasource;protectedConnectionconnection;privatebooleanisValid=true;privatestaticThreadLocal<JDBCContext>jdbcContext;/***私有构造函数*@paramdatabase* 阅读全文
posted @ 2012-09-23 02:03 刺猬的温驯 阅读(439) 评论(0) 推荐(0) 编辑