`
gaoyuntao2005
  • 浏览: 311340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
 首先来看看ApplicationContext接口的实作,之前我们使用了ClassPathXmlApplicationContext,这会读取CLASSPATH根目录(加上指定路径)中可获取的资源文件。 我们也可以使用FileSystemXmllApplicationContext,这会使用相对于工作根目录的档案路径来取得资源文件,例如若您的工 作目录是"c:\workspace\springtest\",而您在程序中指定了"bean.xml",则程序会至您的"c:\workspace\ springtest\bean.xml"找 ...
ApplicationContext继承了org.springframework.context.MessageResource接口,您可以使用getMessage()的各个签署方法来取得讯息资源,从而实现国际化讯息的目的。 在这个主题中,我们简单的透过MessageResource的一个实作org.springframework.context.support.ResourceBundleMessageSource来取得国际化讯息,首先在Bean定义档中撰写: <?xml version="1.0" encoding="UTF-8"?> ...
在Spring中,BeanFactory提供的是个比较API层次的功能,就像是BeanUtil之类的,感觉上不像是一个框架层次的使用,Spring提供了应用程序框架层次的接口:ApplicationContext。 org.springframework.context.ApplicationContext继承自多个界面: ApplicationEventPublisher、HierarchicalBeanFactory、ListableBeanFactory、 MessageSource、ResourceLoader,其中ListableBeanFactory继承自BeanFactory。所以 ...
对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对于不同的数据连接来源需求,Spring则提供了DataSource注入,更换数据来源只要在Bean定义文件中修改配置,而不用修改任何一行程序。  因应不同的系统,应用程序可能使用不同的数据来源,但如纯綷的使用 JDBC、透过连接池、或是透过JNDI等等,数据来源的更动是底层的行为,不应影响到上层的业务逻辑,为此,您可以在需要取得连接来源的Bean上保留一个数据来源注入的接口,让依赖的数据来源由该接口注入。例如我们来写一个简单的Bean: DataBean.java
对于像数组、java.util.List、java.util.Set、java.util.Map等集合对象,在注入前必须填充入一些对象至集合中,然后再将集合对象注入至所需的Bean中,例如若有个Bean如下: SomeBean.java public class SomeBean {     private String[] someStrArray;     private SomeObj[] someObjArray;
在定义Bean时,除了直接指定值给属性值之外,还可以直接参考定义档中的其它Bean,例如HelloBean是这样的话: HelloBean.java package onlyfun.caterpillar;   import java.util.Date;   public class HelloBean {     private String helloWord = "Hello!World!";
 XML档案的阶层格式非常适用于于组态设定,也因此几乎所有的开源项目都将XML作为预设的组态定义方式,但通常也会提供非XML定义文件的方式,像属性档案.properties,Spring也可以让您使用属性档案定义bean: helloBean.class=onlyfun.caterpillar.HelloBean helloBean.helloWord=Hello!Justin!  helloBean名称即是Bean的别名,.class用于指定类别来源,其它的属性就如.helloWord即setter的名称,我们可以使用 org.springframework.beans.fac ...
 在Spring中,从BeanFactory取得的实例为Singleton,预设是每一个别名维持一个实例,对单执行绪的程序来说并不会有什么问题,但对于多执行绪的程序,您必须注意到执行绪安全,您也可以设定每次从BeanFactory取得 Bean时,都产生一个新的实例,例如: <bean id="helloBean" class="onlyfun.caterpillar.HelloBean" singleton="false">  singleton预设是true,藉由将其设定为false,每次取得Bean时都会 ...
 BeanFactory可以接受InputStream作为建构函式的参数,也可以接受实作 org.springframework.core.io.Resource接口的对象作为参数,像是ClassPathResource、 FileSystemResource、InputStreamResource、ServletContextResource、 UrlResource,在不同的场合可以使用对应的类别,以ClassPathResource为例: Resource resource = new ClassPathResource("bean.xml"); Bean ...
Spring鼓励的是setter injection,但也允许您使用constructor injection,使用setter或constructor来注入依赖关系视您的需求而定,这边先来看看如何使用construtor injection,首先看看HelloBean: HelloBean.java package onlyfun.caterpillar;   public class HelloBean {     private String helloWord = "hello";     private String user = "NoB ...
首先我们要先取得Spring的相关档案,Spring的档案放在SourceForge上,网址是:http://sourceforge.net/project/showfiles.php?group_id=73357  撰写此文时,Spring最新的版本是1.1.1,有两个下载版本,一个是spring-framework-1.1.1-with- dependencies.zip,一个 ...
 IoC模式基本上是一个高层的概念,在Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern中谈到,实现IoC有两种方式:Dependency Injection与Service Locator。您可以在下面的网址中找到该篇文章:http://www.martinfowler.com/articles/injection.html  Spring所采用的是Dependency Injection来实现IoC,中文翻译为依赖注入,依赖注入的意义是:「保留抽象接口,让组件依赖于抽象接口, ...
 IoC全名Inversion of Control,如果中文硬要翻译过来的话,就是「控制反转」。初看IoC,从字面上不容易了解其意义,我觉得要了解IoC,要先从Dependency Inversion开始了解,也就是依赖关系的反转。 Dependency Inversion在下面这篇文章中有了清楚的解释:http://www.objectmentor.com/publications/dip.pdf  简单的说,在模块设计时,高层的抽象模块通常是与业务相关的模块,它应该具有重用性,而不依赖于低层的实作模块,例如如果低层模块原先是软盘存取模式,而高层模块是个存盘备份的需求,如果高层模块直接叫 ...
入门 01 - 简介 Spring  Spring是轻量级的J2EE应用程序框架。  Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代,Spring希望提供one-stop shop的框架整合方案 Spring不会特别去提出一些子框架来与现有的OpenSource框架竞争,除非它觉得所提出的框架够新够好,例如Spring有自己的 MVC框架方案,因为它觉得现有的MVC方 ...
MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用。近年来,随着java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts、WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架、专注于持久层的Hibernate、iBatis、Castor、JORM等框架。由于最近用了一次SSI框架,因此本文主要是对Strtus2、Spring、iBatis三个开源的MVC框架进行一 ...
Global site tag (gtag.js) - Google Analytics