spring
文章平均质量分 70
iteye_21162
这个作者很懒,什么都没留下…
展开
-
IBM Thinkpad的感动,十五岁的生日
IBM Thinkpad的感动,十五岁的生日2007年7月19日 www.VeryCD.com 动力C组成员会思考的笔记本 - IBM ThinkPad 今天15岁生日,当然以后的生日得由联想帮忙过,这一15年不变的黑色的笔记本凝聚了蓝色巨人的大量科技结晶,也创造了商用笔记本的奇迹.奇迹就从1992年的今天开始,IBM ThinkPad 700与700C开辟了这一切,让我们一起老帖新看...原创 2008-12-15 21:36:36 · 1223 阅读 · 0 评论 -
入门 06 - Bean定义档进阶读取
BeanFactory可以接受InputStream作为建构函式的参数,也可以接受实作 org.springframework.core.io.Resource接口的对象作为参数,像是ClassPathResource、 FileSystemResource、InputStreamResource、ServletContextResource、 UrlResource,在不同的场合可以...原创 2011-03-14 07:58:47 · 105 阅读 · 0 评论 -
入门 07 - Bean生命周期
在Spring中,从BeanFactory取得的实例为Singleton,预设是每一个别名维持一个实例,对单执行绪的程序来说并不会有什么问题,但对于多执行绪的程序,您必须注意到执行绪安全,您也可以设定每次从BeanFactory取得 Bean时,都产生一个新的实例,例如:<bean id="helloBean" class="onlyfun.caterpillar.Hello...原创 2011-03-14 07:59:20 · 93 阅读 · 0 评论 -
入门 08 - 不使用XML定义档
XML档案的阶层格式非常适用于于组态设定,也因此几乎所有的开源项目都将XML作为预设的组态定义方式,但通常也会提供非XML定义文件的方式,像属性档案.properties,Spring也可以让您使用属性档案定义bean:helloBean.class=onlyfun.caterpillar.HelloBeanhelloBean.helloWord=Hello!Justin!...原创 2011-03-14 07:59:55 · 89 阅读 · 0 评论 -
入门 09 - 属性参考与自动绑定
在定义Bean时,除了直接指定值给属性值之外,还可以直接参考定义档中的其它Bean,例如HelloBean是这样的话:HelloBean.javapackage onlyfun.caterpillar; import java.util.Date; public class HelloBean { private String helloWord = "Hel...原创 2011-03-14 08:00:37 · 141 阅读 · 0 评论 -
入门 10 - 集合对象注入
对于像数组、java.util.List、java.util.Set、java.util.Map等集合对象,在注入前必须填充入一些对象至集合中,然后再将集合对象注入至所需的Bean中,例如若有个Bean如下:SomeBean.javapublic class SomeBean { private String[] someStrArray; private S...原创 2011-03-14 08:01:13 · 102 阅读 · 0 评论 -
入门 11 - DataSource注入
对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对于不同的数据连接来源需求,Spring则提供了DataSource注入,更换数据来源只要在Bean定义文件中修改配置,而不用修改任何一行程序。 因应不同的系统,应用程序可能使用不同的数据来源,但如纯綷的使用 JDBC、透过连接池、或是透过JNDI等等,数据来源的更动是底层的行为,不应影响到上层的业务逻辑,为此,您可以在需要取...原创 2011-03-14 08:02:38 · 326 阅读 · 0 评论 -
入门 12 - ApplicationContext接口
在Spring中,BeanFactory提供的是个比较API层次的功能,就像是BeanUtil之类的,感觉上不像是一个框架层次的使用,Spring提供了应用程序框架层次的接口:ApplicationContext。 org.springframework.context.ApplicationContext继承自多个界面: ApplicationEventPublisher、Hierarchica...原创 2011-03-14 08:03:20 · 121 阅读 · 0 评论 -
入门 13 - MessageResource接口
ApplicationContext继承了org.springframework.context.MessageResource接口,您可以使用getMessage()的各个签署方法来取得讯息资源,从而实现国际化讯息的目的。 在这个主题中,我们简单的透过MessageResource的一个实作org.springframework.context.support.ResourceBundleM...原创 2011-03-14 08:03:56 · 332 阅读 · 0 评论 -
入门 14 - 资源文件的取得
首先来看看ApplicationContext接口的实作,之前我们使用了ClassPathXmlApplicationContext,这会读取CLASSPATH根目录(加上指定路径)中可获取的资源文件。 我们也可以使用FileSystemXmllApplicationContext,这会使用相对于工作根目录的档案路径来取得资源文件,例如若您的工 作目录是"c:\workspace\sprin...原创 2011-03-14 08:04:24 · 85 阅读 · 0 评论 -
入门 15 - Aware相关接口
Spring中提供一些Aware相关接口,像是BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,实作这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实作BeanFactoryAware的Bean在初始后,Spring容器将会注入BeanFactory的...原创 2011-03-14 08:05:07 · 276 阅读 · 0 评论 -
入门 16 - BeanFactoryPostProcessor接口
撰写Bean定义档通常使用XML来撰写,XML阶层式的组织为各种元素与属性设定来说相当的方便,然而XML文件在阅读时总是要费点心力,尤其是在文件中充满了许多定义内容时。 对于程序来说,有一些选项在设定好后通常就不会去变更,而有一些选项可能得随时调整,这时候如果能提供一个更简洁的设定档,提供一些常用选项在其中随时更改,这样的程序在使用时会更有弹性。 我们可以实作org.springframewo...原创 2011-03-14 08:05:47 · 74 阅读 · 0 评论 -
入门 17 - 第一个Spring MVC Web程序
进行这个程序之前,请您先完成入门 04 - 第一个Spring程序。 我们的第一个Spring MVC Web程序将使用Tomcat 5.0.28来示范,我们在webapps目录下建立一个springapp目录,这次为了方便,我们直接使用spring.jar,以及其相依的 commons-logging.jar,请将这两个jar放到 springapp/WEB-INF/lib下。 Spri...原创 2011-03-14 08:06:33 · 134 阅读 · 0 评论 -
DispatcherServlet定义档
DispatcherServlet预设使用servlet名称加上"-servlet.xml"作为其定义档名称,定义档预设是放在WEB-INF下,您也可以自行指定定义文件名称与位置,例如:<servlet> <servlet-name>hello</servlet-name> <servlet-class>org.sprin...原创 2011-03-14 08:07:24 · 99 阅读 · 0 评论 -
Spring入门19 - ModelAndView类别
入门 19 - ModelAndView类别 ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。 最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实作org.springfram...原创 2011-03-14 08:07:59 · 108 阅读 · 0 评论 -
Spring MVC框架类图与顺序图
藉由了解Spring的框架组成,我们可以了解框架之中的类与接口是如何彼此相互合作的,直接来看看几个核心类别与接口,在下图中也列出了几个我们常用到的界面与其具体实现类别:Spring MVC框架的中心是DispatcherServlet,可以在图中 DispatcherServlet的周围看到,对于其相依赖的类别,DispatcherServlet并不直接依赖具体的实现,而是依赖于接口。...原创 2011-03-14 08:08:31 · 1327 阅读 · 0 评论 -
Constructor注入
Spring鼓励的是setter injection,但也允许您使用constructor injection,使用setter或constructor来注入依赖关系视您的需求而定,这边先来看看如何使用construtor injection,首先看看HelloBean:HelloBean.javapackage onlyfun.caterpillar; public clas...原创 2011-03-14 07:57:56 · 274 阅读 · 0 评论 -
第一个Spring程序
首先我们要先取得Spring的相关档案,Spring的档案放在SourceForge上,网址是:http://sourceforge.net/project/showfiles.php?group_id=73357 撰写此文时,Spring最新的版本是1.1.1,有两个下载版本,一个是spring-framework-1.1.1-with- dependencies.zip,一个是sprin...原创 2011-03-14 07:57:21 · 76 阅读 · 0 评论 -
对Spring事务管理实现技术的分析
Spring提供了TransactionProxyFactoryBean作为动态代理的生成工厂,该工厂产生目标bean的动态AOP(——面向方面编程)事务代理。事务代理根据所配置的事务属性自动管理事务操作。该事务代理对事务的透明管理依赖于一个在ApplicationContext范围全局可见的PlatformTransactionManager。Spring提供两个默认的事务管理器实现:Dat...原创 2009-03-26 12:34:03 · 86 阅读 · 0 评论 -
spring2.0 自定义Scope
在spring 的以前版本中,只是支持singleton,prototype两种类型,在2.0中作了很大的改进,增加了RequestScope,和SessionScope两种范围。当然也支持自定义Scope下面简单介绍一下,spring2.0是如何支持自定义Scope的。Scope接口,需要实现的接口,主要的方法:Object get(String name, ObjectFactory...原创 2008-08-28 13:13:40 · 119 阅读 · 0 评论 -
spring aop 2.0 编程(三)
前面这是讲了许多的概念,下面以一个例子来说明:一个很好理解的aop 例子,也就是日志服务。先从aop第一种方式来实现,也就是xml配置方式先创建基本的日志类:public class Logger { private static Log log = LogFactory.getLog(Logger.class); public void entry(String message)...原创 2008-08-28 13:14:38 · 68 阅读 · 0 评论 -
spring aop编程(二)
前面主要介绍了如何通过xml实现aop编程,下面主要介绍如何通过@AspectJ来实现。为了使@AspectJ 支持生效,需要做以下步骤:在xml中设置<aop:aspectj-autoproxy/>或者在xml中加入<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAu...原创 2008-08-28 13:15:22 · 88 阅读 · 0 评论 -
spring 2.0 aop编程(一)
在spring2.0中,aop发生了很大的变化:主要分为两大方面1.支持简单的aop xml配置2.支持@AspectJ的注释先来看一看第一种情况:申明一个aspect,在xml中的申明如下:<aop:config> <aop:aspect id="myAspect" ref="aBean"> ... </aop:aspect><...原创 2008-08-28 13:16:06 · 105 阅读 · 0 评论 -
Spring 2.5.5 api 帮助文档 chm格式 下载
spring 2.5.5(最新的) 帮助文挡 chm格式 下载1 下载2原创 2008-09-18 17:55:04 · 306 阅读 · 0 评论 -
spring 扩展
Spring的可扩展点做得比hibernate好多了,参考文档上就可以找到扩展spring配置文件的方法。利用在类路径的META-INF目录下加入spring.handlers和spring.schemas两个文件来作为扩展的入口。 我的思路是这样的,通过在一个spring总的配置文件中,比如applicationContext.xml中,加入一段我自定义的xml标签,在这个标签上...原创 2011-02-22 15:21:56 · 148 阅读 · 0 评论 -
基于Spring可扩展Schema提供自定义配置支持
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个...原创 2011-03-07 22:44:47 · 92 阅读 · 0 评论 -
用 AOP 来记录每个方法的执行时间(Spring 或直接 AspectJ)
有时候我们要跟踪方法的执行时间,来观察系统的性能、时间分布。特别是要找出那些十分耗时的操作。如果是在每个方法中起始和结束位置记下时间相减,那是不太现实的,对代码的侵入性太过份,而且在产品环境中又得屏闭那部份代码。幸好现在有了 AOP,通过配置方式再加上外部辅助代码就能达到我们的要求,正式上线时只需要简单改个配置项拆卸下来即可。下面介绍三种方式来打印每个方法的执行时间,分别是:1. ...原创 2011-03-07 22:50:46 · 785 阅读 · 0 评论 -
spring ibatis 事务配置
Spring下由三种途径对事物进行管理:编程式事务管理、声明式事务管理和AOP事务管理。其中AOP事务管理又分AOP注解事务管理和AOP XML配置两种,这里记录下述其中的AOP XML配置管理,这也是spring最推荐的方式。 参照<spring高级程序设计>中的银行转账的例子。1.Spring的数据源设置Xml代码 <bean...原创 2011-03-10 13:18:31 · 183 阅读 · 0 评论 -
spring ibatis
这两个版本支持通配符设置配置文件了spring的配置文件中设置如下:<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="ibatis/config/SqlMapCon...原创 2011-03-12 23:25:29 · 130 阅读 · 0 评论 -
SSI(Struts2, Spring, iBatis)框架整合小结
MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用。近年来,随着java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spr...原创 2011-03-12 23:27:03 · 101 阅读 · 0 评论 -
简介 Spring
入门 01 - 简介 Spring Spring是轻量级的J2EE应用程序框架。 Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-sto...原创 2011-03-14 07:54:45 · 94 阅读 · 0 评论 -
控制反转IoC
IoC全名Inversion of Control,如果中文硬要翻译过来的话,就是「控制反转」。初看IoC,从字面上不容易了解其意义,我觉得要了解IoC,要先从Dependency Inversion开始了解,也就是依赖关系的反转。 Dependency Inversion在下面这篇文章中有了清楚的解释:http://www.objectmentor.com/publications/dip...原创 2011-03-14 07:55:41 · 91 阅读 · 0 评论 -
入门 03 - 依赖注入DI
IoC模式基本上是一个高层的概念,在Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern中谈到,实现IoC有两种方式:Dependency Injection与Service Locator。您可以在下面的网址中找到该篇文章:http://www.martinfowler.com/...原创 2011-03-14 07:56:25 · 103 阅读 · 0 评论 -
入门 21 - Controller的单元测试
现在假设您要设计一个窗体登入Web程序,程序中有一个窗体登入页面,一个验证使用者名称与密码是否正确的LoginAction,以及一个登入成功页面,我们打算使用Spring的MVC框架来实现。 这个窗体登入程序最主要的当然就是验证使用者名称与密码是否正确的LoginAction,另两个只是页面呈现而已,我们希望对这个LoginAction进行单元测试,并希望采用「测试驱动」来进行程序开...原创 2011-03-14 08:09:08 · 152 阅读 · 0 评论