`
文章列表
OpenSessionInView详解 关键字: Spring OpenSessionInView OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。 由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个LazyLoad的Exception。所以为了解决这个 ...
理解有符号数和无符号数负数在计算机中如何表示呢? 这一点,你可能听过两种不同的回答。 一种是教科书,它会告诉你:计算机用“补码”表示负数。可是有关“补码”的概念一说就得一节课,这一些我们需要在第6章中用 ...
用Java实现几种常见的排序算法  用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。 插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * @author treeroot * @since 2006-2-2 * @version 1.0 */ public class InsertSort implements SortUtil.Sort{     /* (non-Java ...
1、ProxyFactoryBean 把proxy的创建交给AopProxy去做。 public class ProxyFactoryBean extends AdvisedSupport     implements FactoryBean, BeanFactoryAware, AdvisedSupportListener {             public Object getObject() throws BeansException {                   ...
  AOP作为Spring这个轻量级的容器中很重要的一部分,得到越来越多的关注,Spring的Transaction就是用AOP来管理的,今天就通过简单的例子来看看Spring中的AOP的基本使用方法。   首先确定将要Proxy的目标,在Spring中默认采用JDK中的dynamic proxy,它只能够实现接口的代理,如果想对类进行代理的话,需要采用CGLIB的proxy。显然,选择“编程到接口”是更明智的做法,下面是将要代理的接口:   public interface FooInterface {     public void printFoo();     public void ...
Spring AOP中MethodBeforeAdvice、AfterReturningAdvice和MethodInterceptor的执行顺序 在Spring 的AOP中,如果一个Proxy同时实现MethodBeforeAdvice、AfterReturningAdvice和MethodInterceptor接口,那么这三个Advice的执行顺序是什么样的呢? 经过试验,是和xml文件中的定义顺序有关的。 如果Proxy的接口实现定义为                             MethodBeforeAdvice             AfterReturningA ...
本篇旨在帮助准备学习Java以及刚接触Java的朋友认识、掌握和使用static、this、super、final这几个关键字的使用。Java博大精深,我也是一位正在学习和使用Java的爱好者,文中难免有不妥之处,欢迎指正。 一、static   请先看下面 ...
[/size][size=medium][size=large][/size][align=center][/align]本人对dwr 中文文档关于dwr.xml做的一个整理,纯粹体力活,有用得着的朋友别忘顶一下,留个联系方式一起交流学习! dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录(web. ...
java中的final用法: final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员、方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或 ...
Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。   针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句。这里的一个难点是条件列表用什么来构造?传统上使用Map,但是这种方式缺陷很大,Map可以传递的信息非常有限,只能传递name和value,无法传递究竟要做怎样的条件运算,究竟是大于,小于,like,还是其它的什么,业务 ...
org.apache.commons.digester软件包学习 在毕业设计(基于XML的电子商务平台)的时候,我参考了几种处理XML文档的组件,DOM、JDOM等,最好我选择了用JDOM(当时感觉自己用的技术比较先进)。但是在最近偶尔的机会见到了digester这个东西,感觉好奇所以今天学习了一下:org.apache.commons.digester软件包。以下网址有一个很不错的介绍: [@more@]http://www.onjava.com/pub/a/onjava/2002/10/23/digester.html?page=1 它能方便地将XML文档所定义的元素转化为JAVA对象,其 ...
JAVA 创建与解析XML package xmllab; import java.io.File; import java.io.FileWriter; import java.io.StringReader; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io ...
设计模式对于做软件者来说是必修的内功之一,尤其现在面向对象已经成为主流的开发方法。掌握那些经过证实的面向对象的设计模式是学习和理解面向对象的绝佳途径,每一个模式都是面向对象最经典的应用。以前算法+数据结构=程序的时代已经一去不复返了,软件的复杂度越来越大,硬件水平的不断提到,也使得在一般的应用中性能的已不是主要的问题,算法在普通的应用中显得不像以前那么重要。而如何降低软件的复杂度,如何实现代码甚至组件级的复用,如何构建稳定而开放的系统?这些问题在软件理论的研究中越来越重要,而面向对象方法的提出很大程度的解决了这些问题,特别是使用面向对象的设计模式来降低软件的复杂性,提高重用性,构建开放的系统已经 ...
AOP面向切面设计、DI依赖注入、模式 应用的开发与管理关注点一般在于,根据问题的复杂度,将问题、解决问题过程、策略、及问题相关的环境等通过不同的角度、层面和时序等来划分解耦或者加强内聚,形成一个多维的逻辑结构图,以适应人的思考行为模式,来降低开发、控制、理解和学习的难度。 程序设计根据解决问题的规模走过了以下历程:面向过程的程序设计,OOP面向对象的程序设计,AOP到面向切面的程序设计(我的理解和翻译)。 AOP在问题解决过程中,从横切面来观察,找出要解决的子问题,如用户认证、日志管理、错误管理和事务管理等,为问题某个方面(横切面)的提供弹性的和优化的解决方案。 DI依赖注入是SP ...
NamingStrategy实现动态表名映射2008-06-02 10:25    用一个配置文件,一个类去映射多个表,(每个表的结构相同)。按照平时的做法,有多少个表就要 写多少个配置文件,岂不是很麻烦。怎样才能只写一个配置文件就能达到上述目的呢?    经过研究,发现Hibernate中的NamingStrategy可以达到这个目的。它是用来定义表名和列名映射规 则的一个接口。我们要通过实现这个接口来实现自己的命名策略。这个接口中包含的十个方法,其中的 public String classToTableName(String className)是通过类名来映射表名的。实现我们的想法就要 ...
Global site tag (gtag.js) - Google Analytics