Spring 程序示例

创建 Spring 程序简单程序:

一、首先建立目录myspring,该目录下分别建立以下子目录:
build -> 存放编译文件class
lib     -> 存放库文件spring.jar,commons-logging.jar
src    -> 存放java源文件

二、在myspring/src目录下创建java源文件:
touch Message.java Information.java Display.java Console.java Instance.java beans.xml

接口:Message ->类:Information  提供信息
接口:Display -> 类: Console        显示信息
启动类:Instance
配置文件:beans.xml

三、myspring/src目录下的代码如下:

Message.java

public interface Message...{
    
public String getString();   //接口方法
}


Information.java

public class Information implements Message...{
    
public String getString()...{      //实现接口方法
        return "Hello world, This is a Spring demo.";

    }

}


Display.java

public interface Display...{
   
//接口方法,显示消息
    public void display();
    
//接口定义了属性message,访问Message接口
    public void setMessage(Message message);
    
public Message getMessage();
}


Console.java

public class Console implements Display...{
    
private Message message = null;  //定义message属性

    
public void display()...{    //实现接口方法,显示消息
        if(message == null)...{
            
throw new RuntimeException("Your must set property message of class:"+
              Console.class.getName());
        }

        System.out.println(message.getString());
    }


    
public void setMessage(Message message)...{
        
this.message = message;
    }


    
public Message getMessage()...{
        
return message;
    }

}


Instance.java

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class Instance...{
    
public static void main(String[] args)...{
        XmlBeanFactory factory 
= new XmlBeanFactory(new FileSystemResource("build/beans.xml"));
        Console console 
= (Console)factory.getBean("console");  //获取Console类实例
        console.display();  //使用接口约定的方法,显示消息。
    }

}



Instance类使用的bean由beans.xml指定,Spring通过beans.xml配置向Console类注入了Information类,保存在Console类的message属性事,以便Console在调用display时取得消息并显示。

beans.xml

<!DOCTYPE beans PUBLIC "-//SPRING//BEAN DTD//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd"
>
<beans>
    
<bean id="information" class="Information"/>
    
<bean id="console" class="Console">
        
<property name="message">
            
<ref local="information" />
        
</property>
    
</bean>
</beans>



四、在myspring主目录下创建项目文件build.xml:

<project name="myspring" default="run" basedir=".">
    
<property name="srcdir" value="${basedir}/src" />
    
<property name="libdir" value="${basedir}/lib" />
    
<property name="destdir" value="${basedir}/build" />
   
    
<path id="libraries">
        
<fileset dir="${libdir}">
            
<include name="*.jar" />
        
</fileset>
    
</path>

    
<target name="clean">
        
<delete dir="${destdir}"/>
        
<mkdir dir="${destdir}" />
    
</target>
   
    
<target name="configuration">
        
<copy todir="${destdir}">
            
<fileset dir="${srcdir}">
                
<exclude name="**/*.java" />
            
</fileset>
        
</copy>
    
</target>

    
<target name="compile" depends="configuration" >
        
<javac srcdir="${srcdir}" destdir="${destdir}" classpathref="libraries"/>
    
</target>

    
<target name="run" depends="compile">
        
<java classname="Instance" fork="true" classpathref="libraries">
            
<classpath path="${destdir}"/>
        
</java>
    
</target>
</project>



五、在myspring主目录下执行ant
ant必须在路径上能搜索到,否则不能执行,执行结果:
run:
     [java] 2008-2-3 7:58:46 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
     [java] 信息: Loading XML bean definitions from file [/home/jones/workspace/myspring/build/beans.xml]
     [java] Hello world, This is a Spring demo.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值