`
文章列表

Maven内置隐式变量

引自:http://blog.csdn.net/xh16319/article/details/22981051   Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settings。   env   env变量,暴露了你操作系统或者shell的环境变量。便 如在Maven POM中一个对${env.PATH}的引用 ...

如何使用HSF

    博客分类:
  • webx
   应用场景:B项目需要访问A项目的某些接口   一、A项目:   1.在pom.xml中添加hsf   <dependency> <groupId>com.taobao.hsf</groupId> <artifactId>hsf.app.spring</artifactId> <version>2.1.0.8</version> </dependency>   2.创建一个子项目api,只写需要向外提供的接口以及需要的bean: package com.ti ...
一、   Struts 2框架整合Spring步骤   1、 复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。   2、 配置struts.objectFactory属性值。在struts.properties中有一行#struts.objectFactory = spring,去掉#即可 或者在XML文件中进行常量配置: <struts>        <co ...
一、作用 Spring为我们解决Hibernate的Session的关闭与开启问题。 Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常   org.hibernate.LazyInitializationException: could not initialize proxy ...
 转自:http://aumy2008.blogbus.com/logs/13732626.html   Hibernate映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的Java类型映射到相应的SQL类型;此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的Java类型映射到数据库表的相应字段。   一、Hibernate的内置映射类型 1、Java基本类型的Hibernate映射类型 Hibernate映射类型
Hibernate支持两种锁机制: 即通常所说的“悲观锁(Pessimistic Locking)”和 “乐观锁(OptimisticLocking)”。 悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 Hibernate的加锁模式有: Ø LockMode.NONE : 无锁机制。 Ø LockMode.WRITE :Hibernate在Insert和Update记录的时候会自动获取。 Ø LockMode.READ : Hibernate在读取记录的时候会自动获取。  ...
递归(Recursion),就是方法调用自身。 对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环。   递归计数器: private static int time; public static void recursion() {         time++;         recursion();         time--;
Session缓存: 当Session的save()方法持久化一个Customer对象时,Customer对象被加入到Session的缓存中,以后即使应用程序中的引用变量不再引用Customer对象,只要Session的缓存还没有被清空,Customer对象仍然处于生命周期中。   Session会在下面的时间点清理缓存:  (1).当应用程序调用org.hibernate.Transaction的commit()方法的时候,commit()方法先清理缓存,然后再向数据库提交事务。 (2).当应用程序显式调用Session的flush()方法的时候。 tx = session.be ...

struts2 ognl表达式

推荐阅读: http://developer.51cto.com/art/201203/322509.htm   OGNL:(Object Graphic Navigation Language)对象图导航语言。   OgnlContext:ognl上下文对象,实现Map接口。把对象放到OgnlContext中,就可以通过ognl表达式很容易的操纵对象。   ROOT:OgnlContext有一个唯一的根对象,访问根对象下的成员变量可以省略#root。 一个简单的示例: OgnlContext context = new OgnlContext(); context ...
action的整个执行流程使用的就是动态代理模式。关于动态代理模式的原理可以看这篇文章: http://tiro-li.iteye.com/blog/1901678   Action:真实角色,这是动态改变的; ActionSupport:抽象角色,Action实现的接口; ActionProxy:动态代理角色。相当于Proxy动态生成的$Proxy0类,有以下三点信息需要我们明确。 (1).它在Dispatcher的executeAction方法中由ActionProxyFactory类创建; (2).通过持有ConfigurationManager的引用获取到Action中 ...
动态代理的角色及其原理,见下文: http://tiro-li.iteye.com/blog/1901678 动态代理的工厂类:DynamicProxyFactory.java import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class DynamicProxyFactory implements InvocationHandler { //被代理的对象 private Object pr ...

动态代理模式

    博客分类:
  • java
动态代理角色:一个真实角色:一个抽象角色:真实角色实现的接口,代理角色也必须实现这个接口;一个由Proxy类在运行时动态生成的代理角色$Proxy0;一个实现InvocationHandler接口的类,可能看成是二级代理。它们的关系及原理:1 ...
静态代理模式的角色: 抽象角色:声明真实角色和代理角色的接口; 真实角色: 最终要引用的对象 代理角色:持有一个真实角色的引用 一个房东(真实角色),一个中介(代理角色),都能实现卖房子这个动作(接口中的抽象方法)。 ...
servlet下载文件的原理: 把服务器上的文件以application/octet-stream的响应类型输出到JSP页面。 下载页面download.jsp <body> <a href="FileDownloadServlet?filename=jd2chm.exe">二进制文件</a><br> <a href="FileDownl ...
需要的库: http://commons.apache.org/fileupload/ http://commons.apache.org/io/ 下载后解压zip 包,将commons-fileupload-1.3.x.jar和commons-io-2.x.jar 复制到t项目的WEB-INF/lib下。 文件上传的过程: 1).以multipart/form-data编码的POST请求向Servlet提交; 2).Servlet通 ...
Global site tag (gtag.js) - Google Analytics