Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Thursday, November 22, 2007

java code for Spring Load Resource from file, classpath and URL

/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/



///////////////////////////////////////////////////////////////////////////////////////

//File: events.xml






///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.context.ApplicationEvent;


public class MessageEvent extends ApplicationEvent {

private String msg;
public MessageEvent(Object source, String msg) {
super(source);
this.msg = msg;
}

public String getMessage() {
return msg;
}

}
///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;

public class MessageEventListener implements ApplicationListener {


public void onApplicationEvent(ApplicationEvent event) {
if(event instanceof MessageEvent) {
MessageEvent msgEvt = (MessageEvent)event;
System.out.println("Received: " + msgEvt.getMessage());
}
}

}

///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Publisher implements ApplicationContextAware {

private ApplicationContext ctx;

public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"build/events.xml");

Publisher pub = (Publisher) ctx.getBean("publisher");
pub.publish("Hello World!");
pub.publish("The quick brown fox jumped over the lazy dog");
}

public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.ctx = applicationContext;

}

public void publish(String message) {
ctx.publishEvent(new MessageEvent(this, message));
}
}
///////////////////////////////////////////////////////////////////////////////////////

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.Resource;

public class ResourceDemo {

public static void main(String[] args) throws Exception{
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"build/events.xml");

Resource res1 = ctx.getResource("file:///c:/test.txt");
displayInfo(res1);
Resource res2 = ctx.getResource("classpath:lib/commons-logging.jar");
displayInfo(res2);
Resource res3 = ctx.getResource("http://www.google.co.uk");
displayInfo(res3);
}

private static void displayInfo(Resource res) throws Exception{
System.out.println(res.getClass());
System.out.println(res.getURL().getContent());
System.out.println("");
}
}

No comments: