Spring之ResourceLoader

Posted cgl_dong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring之ResourceLoader相关的知识,希望对你有一定的参考价值。

Spring之ResourceLoader

Spring中的ResourceLoader用于加载资源。可以从文件中、网络中、流中加载资源。

资源加载器是个接口,默认从类路径下加载。通过getResource方法从字符串中查找路径。可以从容器中获取ResourceLoader,调用getResource方法。

public interface ResourceLoader {
    String CLASSPATH_URL_PREFIX = "classpath:";

    Resource getResource(String var1);

    @Nullable
    ClassLoader getClassLoader();
}

applicationContext为容器:获取类路径下的资源

        Resource resource = applicationContext.getResource("demo.txt");
        String filename = resource.getFilename();
        System.out.println(filename);
        InputStream inputStream = resource.getInputStream();
        byte[] b=new byte[1024];

        int read = inputStream.read(b);
        System.out.println(new String(b,0,read));


        Resource resource1 = applicationContext.getResource("ApplicationContext.xml");
        String filename1 = resource1.getFilename();
        System.out.println(filename1);

        String description = resource1.getDescription();
        System.out.println(description);

applicationContext为容器:获取网络资源

        Resource resource2 = applicationContext.getResource("http://jsonplaceholder.typicode.com/posts");
        InputStream inputStream1 = resource2.getInputStream();      

        byte[] b2=new byte[10240];
        BufferedInputStream stream = new BufferedInputStream(inputStream1);
        int i = stream.read(b2);
        System.out.println(new String(b2,0,i));
        stream.close();

以上是关于Spring之ResourceLoader的主要内容,如果未能解决你的问题,请参考以下文章

Spring5源码分析(005)——IoC篇之统一资源加载Resource和ResourceLoader

Spring5源码分析(005)——IoC篇之统一资源加载Resource和ResourceLoader

SPRING04_核心组件接口分析Resource具体实现类ResourceLoader资源读取器及策略模式

Spring之IOC容器初始化过程

Spring复杂的BeanFactory继承体系该如何理解?---中下

spring的两种属性注入方式setter注入和构造器注入或者自动注入