zoukankan      html  css  js  c++  java
  • 011 aware

    一 . 概述

      在spring之中,如果我们想要让我们的Bean之中拥有spring的组件,那么我们就可以使用aware接口帮助我们完成.


     二 .aware接口

    public interface Aware {
    
    }

    我们可以看到这是一个标记接口,在spring之中表示需要注入一个spring组件到具体的Bean之中.

    如果一个Bean实现了一个具体的Aware的接口,就表示spring会帮助实现一个spring组件的注入功能.


    三 .常用的Aware接口

    public interface ApplicationContextAware extends Aware {
    
        void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
    
    }

    这个接口可以帮助我们注入一个ApplicationContext,就是一个IOC对象.

    public interface ResourceLoaderAware extends Aware {
    
        void setResourceLoader(ResourceLoader resourceLoader);
    
    }

    这个接口可以帮助我们获取一个资源加载器,结合上一节的内容,我们就可以创建一个加载资源的的万能对象了.


     四 .使用一下Aware接口

      Aware接口的使用基本都是一致的,我们这里简单演示一个就可以了.

    public class ResourceUtils implements ResourceLoaderAware{
        
        private ResourceLoader resourceLoader ;
        
        @Override
        public void setResourceLoader(ResourceLoader resourceLoader) {
            this.resourceLoader = resourceLoader;
        }
        
        public Resource getResource(String location) {
            return this.resourceLoader.getResource(location);
        }
    }

    我们这个类就可以注入一个ResourceLoader对象.

    配置类:

    @Configuration
    @Import(ResourceUtils.class)
    public class Config {
    
    }

    测试类:

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes= {Config.class})
    public class ConfigTest {
        @Autowired
        private ResourceUtils utils;
        @Test
        public void test() throws Exception {
            Resource resource = utils.getResource("classpath:aa.txt");
            System.out.println(new String(FileCopyUtils.copyToByteArray(resource.getInputStream())));
        }
    }

    五 .总结

      当我们需要spring之中的组件的时候,我们就可以使用Aware注入到我们的组件之中.

  • 相关阅读:
    SQLServer性能诊断与调优
    (转).NET面试题整理之基础篇
    (转)[茗洋芳竹]程序员常用不常见很难得的地址大全,博主很辛苦
    (转)页面过度动画效果大集合
    (转)软件开发和团队”最小模式”初探2-6人模型(下)
    silverlight 乐动魔方 实战九 .
    (转)js+flash实现手写输入功能特效
    (转)软件开发和团队”最小模式”初探2-6人模型(上)
    (转)我眼中的PM
    silverlight 乐动魔方 实战十 .
  • 原文地址:https://www.cnblogs.com/trekxu/p/9090886.html
Copyright © 2011-2022 走看看