Mega Code Archive

 
Categories / Java / Spring
 

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 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>     <bean id="publisher" class="Publisher"/>         <bean id="messageEventListener" class="MessageEventListener"/> </beans> /////////////////////////////////////////////////////////////////////////////////////// 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("");     } }                     SpringResource.zip( 1,199 k)