my first spring application我的一个Spring程序尝试
spring-framework-1.2.2+jdk1.5.004
1.directory
+My1stSpring
--build.xml
--hello.xml
+lib
+src
+java
--log4j.properties
+hello
--GreetingService.java
--GreetingServiceImpl.java
--HelloApp.java
+webapp
2. source code
GreetingService.java
package hello;
public interface GreetingService
{
public void sayGreeting();
}
public interface GreetingService
{
public void sayGreeting();
}
GreetingServiceImpl.java
package hello;
public class GreetingServiceImpl implements GreetingService
{
private String greeting;
public GreetingServiceImpl(){}
public GreetingServiceImpl(String greeting)
{
this.greeting=greeting;
}
public void sayGreeting()
{
System.out.println(greeting);
}
public void setGreeting(String greeting)
{
this.greeting=greeting;
}
}
public class GreetingServiceImpl implements GreetingService
{
private String greeting;
public GreetingServiceImpl(){}
public GreetingServiceImpl(String greeting)
{
this.greeting=greeting;
}
public void sayGreeting()
{
System.out.println(greeting);
}
public void setGreeting(String greeting)
{
this.greeting=greeting;
}
}
HelloApp.java
package hello;
import java.io.*;
import org.springframework.core.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class HelloApp
{
public static void main(String[] args) throws Exception
{
Resource res = new FileSystemResource("hello.xml");
BeanFactory factory=new XmlBeanFactory(res);
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreeting();
}
}
import java.io.*;
import org.springframework.core.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class HelloApp
{
public static void main(String[] args) throws Exception
{
Resource res = new FileSystemResource("hello.xml");
BeanFactory factory=new XmlBeanFactory(res);
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
greetingService.sayGreeting();
}
}
3. mapping files fro spring
hello.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="greetingService" class="hello.GreetingServiceImpl">
<property name="greeting">
<value>Buenos Dias!</value>
</property>
</bean>
</beans>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="greetingService" class="hello.GreetingServiceImpl">
<property name="greeting">
<value>Buenos Dias!</value>
</property>
</bean>
</beans>
build.xml
<project name="hello" default="init">
<property name="spring.home" location="C:/java/spring-framework-1.2.2"/>
<property name="target.dir" location="target"/>
<property name="classes.dir" location="${target.dir}/classes"/>
<property name="src.dir" location="src"/>
<property name="java.src.dir" location="${src.dir}/java"/>
<property name="webapp.src.dir" location="${src.dir}/webapp"/>
<property name="app.lib.dir" location="lib"/>
<property name="spring.lib.dir" location="${spring.home}/dist"/>
<property name="spring.depends.dir" location="${spring.home}/lib"/>
<property name="log.dir" location="logs"/>
<path id="dependency.path">
<fileset dir="${spring.lib.dir}" includes="*.jar"/>
<fileset dir="${spring.depends.dir}" includes="**/*.jar"/>
<fileset dir="${app.lib.dir}" includes="*.jar"/>
<pathelement location="${classes.dir}"/>
</path>
<target name="init">
<mkdir dir="${target.dir}"/>
</target>
<target name="build" depends="init">
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}" classpathref="dependency.path">
<src path="${java.src.dir}"/>
</javac>
<copy todir="${classes.dir}" >
<fileset dir="${java.src.dir}" >
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="war" depends="build">
<war destfile="${target.dir}/${ant.project.name}.war" webxml="${webapp.dir}/web.xml">
<lib dir="${spring.lib.dir}"/>
<lib dir="${app.lib.dir}"/>
<classes dir="${classes.dir}"/>
</war>
</target>
<target name="run" depends="build">
<java classpathref="dependency.path" classname="hello.HelloApp" fork="true" />
</target>
</project>
<property name="spring.home" location="C:/java/spring-framework-1.2.2"/>
<property name="target.dir" location="target"/>
<property name="classes.dir" location="${target.dir}/classes"/>
<property name="src.dir" location="src"/>
<property name="java.src.dir" location="${src.dir}/java"/>
<property name="webapp.src.dir" location="${src.dir}/webapp"/>
<property name="app.lib.dir" location="lib"/>
<property name="spring.lib.dir" location="${spring.home}/dist"/>
<property name="spring.depends.dir" location="${spring.home}/lib"/>
<property name="log.dir" location="logs"/>
<path id="dependency.path">
<fileset dir="${spring.lib.dir}" includes="*.jar"/>
<fileset dir="${spring.depends.dir}" includes="**/*.jar"/>
<fileset dir="${app.lib.dir}" includes="*.jar"/>
<pathelement location="${classes.dir}"/>
</path>
<target name="init">
<mkdir dir="${target.dir}"/>
</target>
<target name="build" depends="init">
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}" classpathref="dependency.path">
<src path="${java.src.dir}"/>
</javac>
<copy todir="${classes.dir}" >
<fileset dir="${java.src.dir}" >
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="war" depends="build">
<war destfile="${target.dir}/${ant.project.name}.war" webxml="${webapp.dir}/web.xml">
<lib dir="${spring.lib.dir}"/>
<lib dir="${app.lib.dir}"/>
<classes dir="${classes.dir}"/>
</war>
</target>
<target name="run" depends="build">
<java classpathref="dependency.path" classname="hello.HelloApp" fork="true" />
</target>
</project>
5. "ant build" to compile
"ant run" to run the application!