一 配置文件
二 Bean
package org.crazyit.app.service;import org.springframework.context.ResourceLoaderAware;import org.springframework.core.io.ResourceLoader;public class TestBean implements ResourceLoaderAware{ private ResourceLoader rd; // 实现ResourceLoaderAware接口必须实现的方法 // 如果把该Bean部署在Spring容器中,该方法将会由Spring容器负责调用 // Spring容器调用该方法时,Spring会将自身作为参数传给该方法 public void setResourceLoader(ResourceLoader resourceLoader) { this.rd = resourceLoader; } // 返回ResourceLoader对象的引用 public ResourceLoader getResourceLoader() { return rd; }}
三 测试类
package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.springframework.core.io.*;import org.dom4j.io.XPPReader;import org.dom4j.Document;import org.dom4j.Element;import java.util.*;import org.crazyit.app.service.*;public class SpringTest{ public static void main(String[] args) { // 创建ApplicationContext容器 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); // 获取容器中名为test的Bean实例 TestBean tb = ctx.getBean("test" , TestBean.class); // 通过tb实例来获取ResourceLoader对象 ResourceLoader rl = tb.getResourceLoader(); // 判断程序获得ResourceLoader和容器是否相同 System.out.println(rl == ctx); }}
四 测试结果
true