first step, write hello world.
//MessageProvider.java
package org.nixeon.ioctest;
public interface MessageProvider {
public String getMessage();
}
//MessageRenderer.java
package org.nixeon.ioctest;
public interface MessageRenderer {
public MessageProvider getMessageProvider();
public void setMessageProvider(MessageProvider mp);
public void render();
}
//HelloWorldProvider.java
package org.nixeon.ioctest;
public class HelloWorldProvider implements MessageProvider {
public String getMessage(){
return "Hello World!";
}
}
//HelloWorldRenderer.java
package org.nixeon.ioctest;
public class HelloWorldRenderer implements MessageRenderer {
private MessageProvider messageProvider;
public void setMessageProvider(MessageProvider mp){
messageProvider = mp;
}
public MessageProvider getMessageProvider(){
return messageProvider;
}
public void render(){
System.out.println(messageProvider.getMessage());
}
}Use XML beans definition to inject the collaborator.
<!--messenger-meta.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="renderer" class="org.nixeon.ioctest.HelloWorldRenderer">
<property name="messageProvider">
<ref local="provider"/>
</property>
</bean>
<bean id="provider" class="org.nixeon.ioctest.HelloWorldProvider"/>
</beans>
So, lets get the Bean!!
//Messenger.java
package org.nixeon.ioctest;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.nixeon.ioctest.MessageRenderer;
public class Messenger {
public static void main (String [] args) throws Exception {
BeanFactory factory = getBeanFactory();
MessageRenderer mr = (MessageRenderer) factory.getBean("renderer");
mr.render();
}
private static BeanFactory getBeanFactory() throws Exception {
BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
"messenger-meta.xml"));
return factory;
}
}
Use ant to run the task
Buildfile: build.xml
run:
[java] Feb 4, 2007 5:01:38 PM org.springframework.core.CollectionFactory
[java] INFO: JDK 1.4+ collections available
[java] Feb 4, 2007 5:01:38 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
[java] INFO: Loading XML bean definitions from file [D:\java_workspace\ioctest\messenger-meta.xml]
[java] Hello World!
BUILD SUCCESSFUL
Total time: 1 second
Done :-)
No comments:
Post a Comment