`
jiagyao
  • 浏览: 95995 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
response.reset():来清除首部的空白行 空白行的出现原因,jsp代码编译后产生。就是有jsp生成html文件的时候,html文件内部会出现很多空白行。下载后的文件内的空白行也是这样产生的。 因此,需要 response.reset() 来清除首部的空白行 注意:response的任何打开流关闭之后都不能再reset
一、Spring的IoC(Inversion of Control)。 这是Spring中得有特点的一部份。IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词。其实,原理很简单,用一句通俗的话来说:就是用XML来定义生成的对象。IoC其实是一种设计模式,Spring只是实现了这种设计模式。 这种设计模式是怎么来的呢?是实践中逐渐形成的。 第一阶段:用普通的无模式来写Java程序。一般初学者都要经过这个阶段。 第二阶段:频繁的开始使用接口,这时,接口一般都会伴随着使用工厂模式。 第三阶段:使用IoC模式。工厂模式还不够好:(1)因为的类的生成代码写死在程序里,如果你要换一 ...
              bean后处理器和容器后处理器 1.bean后处理器 这种处理器会对容器中的bean进行后处理,对bean的功能进行额外加强 bean的后处理器必须实现接口BeanPostProcessor,该接口包含两个方法 public Object postProcessBeforeInitialization(Object bean, String beanName) public Object postProcessAfterInitialization(Object bean, String beanName) 下面定义一个bean后处理器 import o ...
提到代理,我们可以使用ProxyBeanFactory,并配置proxyInterfaces,target和interceptorNames实现,但如果需要代理的bean很多,无疑会对spring配置文件的编写带来繁重的工作 Spring为我们提供了,根据beanName匹配后进行自动代理的解决方法 业务接口 package AutoProxyOne; public interface Shopping ...{   public String buySomething(String type);   public String buyAnything(String type); ...
下面介绍一种优秀的事务代理配置策略:采用这种配置策略,完全可以避免增量式配置,所有的事务代理由系统自动创建。容器中的目标bean自动消失,避免需要使用嵌套bean来保证目标bean不可被访问。 这种配置方式依赖于Spring提供的bean后处理器,该后处理器用于为每个bean自动创建代理,此处的代理不仅可以是事务代理,也可以是任意的代理,只需要有合适的拦截器即可。这些是AOP框架的概念,笔者在此处不对AOP进行深入介绍。读者只需了解这种事务代理的配置方式即可。 下面是采用BeanNameAutoProxyCreator配置事务代理的配置文件 view plaincopy to clipboar ...
Spring整合Struts 虽然Spring也提供了自己的MVC组件,但一来Spring的MVC组件过于繁琐,二     来Struts的拥护者实在太多。因此,很多项目都会选择使用Spring整合Struts框架。而且Spring确实可以无缝整合Struts框架,二者结合成一个更实际 ...
spring对hibernate整合的相当完美,并且spring对hibernate配置文件hibernate.cfg.xml也做了整合,在spring中利用LocalSessionFactoryBean就可以把hibernate.cfg.xml文件的内容整合到spring的配置文件中,这确实相当好,减少了配置文件。其实,LocalSessionFactoryBean最吸引我的原因是mappingLocations属性,这是一个用来配置hibernate映射文件的属性,这个属性的好处是我可以使用通配符,简单一行就可以配置整个项目的映射文件,比如: <property name=&quo ...
在我以前一篇文章关于spring的文章中仔细讨论过spring单元测试策略,根据最近一些经验。今天再写一点自己的经验: 1.需要把单元测试时不需要的东西拿掉,比如缓存,安全等,这就需要怎么仔细考虑spring的applicationContext.xml功能。 2.DAO与Service的测试需要使用不同的策略,一般来讲,DAO单元测试只测试一个DAO类,而service需要多个DAO来支撑,有时还需要别的service支持。因此需要为DAO与service分别定义两个基类。DAO一般不需要使用事务,因此DAO测试基类继承AbstractDependencyInjectionSpringCo ...
本文主要介绍使用spring提供的对junit的扩展机制来进行单元测试,没有设计mock方面的测试。 一、Spring提供的JUnit框架扩展: AbstractSpringContextTests:spring中使用spring上下文测试的Junit扩展类,我们一般不会使用这个类来进行单元测试,它是spring内部设计使用到的类 AbstractDependencyInjectionSpringContextTests:这是AbstractSpringContextTests的直接子类,支持依赖spring上下文的测试类,这个类不支持事务。 AbstractTransactional ...
applicationContext.xml <?xml version="1.0" encoding="gb2312"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>     <import resource="CTIContext.xml" />     < ...
        Spring声明式事务管理、Spring整合Hibernate 一、Spring的事务管理:Spring提供了针对不同持久化机制的事务管理器。(AOP中的切面类,定义了很多通知)   如:hibernate有org.springframework.orm.hibernate3.HibernateTransactionManager 二、事务的参数:     1. 事务的传播行为:     a) PROPAGATION_REQUIRED:当前方法必须在一个事务中运行。如果一个事务正在运行,该方法将会在那个事务中运行。否则就要开始一个新事务。Spring的Transaction ...
               Bean的作用域介绍(Singleton与prototype)Spring Bean作用域介绍: (1)singleton:   SpringIoc容器只会创建该Bean的唯一实例,所有的请求和引用都只使用这个实例 (2)Property:    每次请求都创建一个新实例request:    在一次Http请求中,容器会返回该Bean的同一个实例,而对于不同的用户请求,会返回不同的实例。 需要注意的是,该作用域仅在基于Web的Spring ApplicationContext情形下有效,以下的session和global Session也是如此 (3)se ...
Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。 与hibernate类似,Spring 提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTemplate对象来操纵数据库。看起来这些概念都与hibernate类似。 通过SqlMapClientTemplate来操纵数据库的CRUD是没有问题的,这里面关键的问题是事务处理。Spring提供了强大的声明式事务处理的功能,我们已经清楚hib ...
环境struts1.x, spring2.0, hibernate3.x 1 - org.springframework.ejb.config.JeeNamespaceHandler问题原因:工程中缺少spring的spring-remoting.jar包解决方案:在spring的开发包\dist\modules目录下找到spring-remoting.jar加入到类路径中。重新部署,启动服务,OK。 2 - org.springframework.scripting.config.LangNamespaceHandler问题原因:工程中缺少spring的spring-support.jar包解 ...
Spring+Hibernate+Struts2整合文档 一、Spring+Struts2整合: 1、spring配置在web.xml文件中的上下文监听器: <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value> </context-param> <listener> <li ...
Global site tag (gtag.js) - Google Analytics