美文网首页Spring高级应用
Spring高级应用 之Aware类

Spring高级应用 之Aware类

作者: Tango_520f | 来源:发表于2018-02-22 17:39 被阅读72次

    1.Aware类为Bean感知Spring容器的存在提供支持,实现Aware类便可利用利用Spring容器中的各种资源;

    2.常用的Aware类有哪些?

    BeanNameAware:可以获得容器中BeanName

    BeanFactoryAware:可以获取当前的BeanFactory

    ApplicationContextAware:可以获取applicationContext,得到当前的容器服务;

    MessageSourceAware:可以获取文本信息;

    3.示例工程

    import java.io.IOException;

    import java.io.InputStream;

    import org.apache.commons.io.IOUtils;

    import org.springframework.beans.factory.BeanNameAware;

    import org.springframework.context.ResourceLoaderAware;

    import org.springframework.core.io.Resource;

    import org.springframework.core.io.ResourceLoader;

    import org.springframework.stereotype.Service;

    @Service

    public class TangoBeanNameAware implements BeanNameAware,ResourceLoaderAware{

    private ResourceLoader resourceloader;

    private String beanName;

    @Override

    public void setResourceLoader(ResourceLoader loader) {

    this.resourceloader=loader;

    }

    @Override

    public void setBeanName(String beanName) {

    this.beanName=beanName;

    }

    public void outPut() {

    System.out.println("BeanName为"+beanName);

    Resource resource = resourceloader.getResource("classpath:com/tango/spring/aware/tango.txt");

    try {

    InputStream in = resource.getInputStream();

    System.out.println("文本中的内容为:"+IOUtils.toString(in));

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    配置类

    相关文章

      网友评论

        本文标题:Spring高级应用 之Aware类

        本文链接:https://www.haomeiwen.com/subject/enqztftx.html