src\main\java\chap12app:
Main.java
package chap12app;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class Main{
static BeanFactory factory = new XmlBeanFactory(
new FileSystemResource( "SprgConf.xml" ) );
public static void main(String[] args){
MessageTalker mt1 = (MessageTalker)getBean( "message1Talker" );
mt1.talkMessage();
MessageTalker mt2 = (MessageTalker)getBean( "message2Talker" );
mt2.talkMessage();
}
private static Object getBean( String inBeanName ){
return( factory.getBean( inBeanName ) );
}
}
IMessage.java
package chap12app;
public interface IMessage{
public void setMessage( String inMessage );
public String getMessage( );
}
Message1Bean.java
package chap12app;
public class Message1Bean implements IMessage{
private String message = "message of Message1";
public void setMessage( String inMessage ){
this.message = inMessage;
}
public String getMessage( ){
return( this.message );
}
}
Message2Bean.java
package chap12app;
public class Message2Bean implements IMessage{
private String message;
public void setMessage( String inMessage ){
this.message = inMessage;
}
public String getMessage( ){
return( this.message );
}
}
MessageTalker.java
package chap12app;
public class MessageTalker{
private IMessage messagebean;
public void setMessagebean( IMessage inMessagebean ){
this.messagebean = inMessagebean;
}
public void talkMessage(){
System.out.println( messagebean.getMessage() );
}
}
src\test\java\chap12app:
AppTest.java
package chap12app;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest
extends TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp()
{
assertTrue( true );
}
}
target:
mvn-eclipse-cache.properties
#Temporary index for unavailable sources and javadocs #Fri Jan 30 01:20:29 JST 2009 junit\:junit\:3.8.1\:javadoc=true junit\:junit\:3.8.1\:sources=true
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>chap12app</groupId> <artifactId>Chap12App</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Chap12App</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>2.5.6</version> </dependency> </dependencies> </project>
SprgConf.xml
<?xml version="1.0"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="message1Talker" class="chap12app.MessageTalker" > <property name="messagebean"> <ref local="message1" /> </property> </bean> <bean id="message2Talker" class="chap12app.MessageTalker" > <property name="messagebean"> <ref local="message2" /> </property> </bean> <bean id="message1" class="chap12app.Message1Bean" /> <bean id="message2" class="chap12app.Message2Bean" > <property name="message"> <value>Message from SprgConf.xml</value> </property> </bean> </beans>
代码来自日本的技术图书 :http://www.shuwasystem.co.jp/products/7980html/2197.html