<%@ page contentType="text/html; charset=gb2312"%> Spring 入门
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
Spring 入门
     发布者: 发布时间:2008-05-17
 首先我们要先取得Spring的相关档案,Spring的档案放在SourceForge上,网址是:

http://sourceforge.net/project/showfiles.php?group_id=73357


 撰写此文时,Spring最新的版本是1.1.1,有两个下载版本,一个是spring-framework-1.1.1-with- dependencies.zip,一个是spring-framework-1.1.1.zip,with-dependencies的包括一些 ant、jakarta-commons、struts、velocity等等其它开源Java项目的相依档案,如果您也需要这些相关档案,可以下载这个版本,如果您已经有这些相关档案,则只需要下载spring-framework-1.1.1.zip这个档案。


 下载zip档案并解压缩之后,在dist目录下就是使用Spring所需要的相关档案,如果下载的是with-dependencies版本,则在lib目录中的是您可能会用到的相依档案。在dist目录下,spring-core.jar是Spring的核心,对于撰写简单的单机程序来说,使用这个核心即可,如果日后需要使用到Spring其它的子框架支持,再将其它的jar档案加入即可,例如spring-aop.jar、spring- webmvc.jar等等。您也可以直接使用spring.jar这个档案,它包括了所有Spring支持的功能所需要的所有类别,而不再需要加入个别的 jar档案。


 就我们的第一个Spring程序,只要spring-core.jar这个档案即可,它唯一相依的其它项目档案,是commons- logging.jar,您可以在lib目录的jakarta-commons目录中找到,将这两个档案的位置加入至CLASSPATH中,我们就可以开始撰写第一个Spring程序。


 来撰写我们的第一个组件(component),它只是一个简单的JavaBean,用来向新的使用者打招呼:
HelloBean.java

package onlyfun.caterpillar;

public class HelloBean {
    private String helloWord = "Hello!World!";
   
    public void setHelloWord(String helloWord) {
        this.helloWord = helloWord;
    }
    public String getHelloWord() {
        return helloWord;
    }
}





 HelloBean有预设的"Hello!World!"字符串,我们也可以透过setter来设定新的招呼语,不过我们不亲自撰写程序来作这些事,而是在组态档案定义,由Spring来为我们作设定的动作,我们撰写bean.xml:
bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="helloBean" class="onlyfun.caterpillar.HelloBean">
        <property name="helloWord"><value>Hello!Justin!</value></property>
    </bean>
</beans>





 bean.xml中定义了JavaBean的别名与来源类别,<property>标签中设定了我们希望注入至JavaBean的字符串值,bean.xml必须在您的CLASSPATH可以存取到的目录中,也许是现行的工作目录,在Web程序中可以是在classes目录下,我们这边使用的是单机程序的方式,将使用FileInputStream读取bean.xml,所以将之置于现行的工作目录中,接着我们撰写一个简单的测试程序:
SpringTest.java

package onlyfun.caterpillar;

import java.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;

public class SpringTest {
    public static void main(String[] args) throws IOException {
        InputStream is = new FileInputStream("bean.xml");
        BeanFactory factory = new XmlBeanFactory(is);
       
        HelloBean hello = (HelloBean) factory.getBean("helloBean");
        System.out.println(hello.getHelloWord());
    }
}





 这是从比较低层次的角度来使用Spring的IoC容器功能,藉由BeanFactory来读取组态档案并完成依赖的关联注入,这边的依赖是什么?指的是 HelloBean相依于String对象,透过setter所保留的接口,我们使用setter injection来完成这个依赖注入,而不是将招呼语写死在HelloBean,BeanFactory是整个Spring的重点所在,整个 Spring的核心都围绕着它,在这边使用的是XmlBeanFactory,负责读取XML组态档案,当然我们也可以使用properties档案,这之后会再介绍。


 BeanFactory读取Bean的组态设定并完成关系维护之后,我们可以藉由getBean()方法并指定Bean的别名来取得实例,来看看实际运行之后的效果:

2004/10/21 上午 10:28:00 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from resource for InputStream
2004/10/21 上午 10:28:00 org.springframework.beans.factory.support.AbstractBeanFactory getBean
信息: Creating shared instance of singleton bean 'helloBean'
Hello!Justin!





 如果今天您要想改变招呼语,则只要更改bean.xml就可以了,不用修改主要的程序,从比较一般的角度来看,就意味着如果您想要改变一些对象之间的依赖关系,则只要修改组态档即可,而不用修改组件的任何一行程序。
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
Hibernate快速入门
JSP语法简表
Struts入门经验
java初学者 常用开发工具介绍
Java入门实例
业界争论:Ruby能否成为第二个Java?
 
最近评论:
        
回复:Spring 入门
我司专业生产升降机 升降机 升降平台液压升降机铝合金升降机 铝合金升降平台 登车桥液压升降机 液压升降台 液压升降平台 升降台 高空作业台 高空作业平台 套缸升降机 液压升降台 苏州汽车租赁 苏州婚庆礼仪 升降台 升降平台 登车桥 液压升降机 升降货梯 苏州汽车租赁 欢迎来电!
        
鍥炲
        
不在的哪天!
final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,final fantasy xi gil, max(84)
        
轻轻走过你的窗前!
world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(284)
        
不在的哪天!
final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,final fantasy xi gil, max(4753)
        
昨夜的狂想曲!
wow gold,WoW Gold,world of warcraft gold,WoW Gold, max(9596)
        
没有情人的情人节!
wow gold,wow power leveling.wow power leveling,wow power leveling, max(7468)
        
没有情人的情人节!
wow gold,wow power leveling.wow power leveling,wow power leveling, max(4859)
        
35435
我公司是一家根据目前国内网络发展要求专业上海网站建设,网页设计和上海网页设计服务商,提供google优化,搜索引擎优化,软件开发服务,我们可以在网站建设的同时针对搜索引擎优化规则进行基本网站优化,为以后的网站推广做好准备,我们的宗旨就是帮助中国成千上万的上网企业和拥有网站的个人用最专业和有效的方式推广他们的网站,通过网络推广给企业和个人带来巨大的商机,让网络上潜在的巨大财富变成现实。我们的客户有:上海大众搬场物流有限公司,上海蓝天废品回收公司. 一流高品质北京翻译公司为您提供专业服务! 上海代理注册公司网专业提供上海公司注册外资公司注册服务! 我们还可以为上海企业提供上海代理记帐服务! 上海海勃膜结构有限公司-膜结构,篷房专业设计、制造、安装、租赁! 高品质上海翻译公司为中国企业提供翻译服务! 凡是有志在上海创业的朋友,本公司可为您代理注册公司,为您减去各种繁琐的办理手续流程,节约工商各项费用. 6年网站建设精英团队,专业上海网站建设公司为广大客户朋友提供企业网站制作,域名注册,国内及海外企业邮箱,虚拟主机服务.
        
回复:Spring 入门
我公司是一家根据目前国内网络发展要求专业上海网站建设,网页设计和上海网页设计服务商,提供google优化,搜索引擎优化,软件开发服务,我们可以在网站建设的同时针对搜索引擎优化规则进行基本优化,为以后的网站推广做好准备,我们的宗旨就是帮助中国成千上万的上网企业和拥有网站的个人用最专业和有效的方式推广他们的网站,通过网络推广给企业和个人带来巨大的商机,让网络上潜在的巨大财富变成现实。我们的客户有:上海大众搬场物流有限公司,上海蓝天废品回收公司. 一流高品质北京翻译公司为您提供专业服务!
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号