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