zoukankan      html  css  js  c++  java
  • 十三、【接口】Spring接口xxxAware

    Aware接口是一个标志性接口,继承此接口的接口xxxAware的实现类,在容器创建完成后,会回调实现方法,下面举例:

    1. 有很多xxxAware接口,下面举两个例子
    /**
     * description: 将实现xxxAware接口的Bean注册到IOC容器中的时候,会将xxxAware的实现方法进行回调操作
     * @author zhangjianbing
     * @date 2020年9月23日
     */
    @Component
    public class MyAware implements ApplicationContextAware, BeanNameAware {
    
        private ApplicationContext applicationContext;
    
        private String beanName;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            this.applicationContext = applicationContext;
            Cat cat = (Cat) applicationContext.getBean("cat");
            System.out.println("------->" + cat);
        }
    
        @Override
        public void setBeanName(String name) {
            this.beanName = name;
            System.out.println("------->" + beanName);
        }
    }
    
    1. 配置类
    /**
     * @author zhangjianbing
     * @date 2020年9月23日
     */
    @Configuration
    public class MyConfig {
    
        @Bean
        public Cat cat() {
            return new Cat();
        }
    
        @Bean
        public Dog dog() {
            return new Dog();
        }
    
        @Bean
        public MyAware myAware() {
            return new MyAware();
        }
    
    }
    
    1. 测试类
    /**
     * @author zhangjianbing
     * @date 2020年9月23日
     */
    public class Test01 {
        public static void main(String[] args) {
            AnnotationConfigApplicationContext app = new AnnotationConfigApplicationContext(MyConfig.class);
            Cat cat = (Cat) app.getBean("cat");
            System.out.println("------->" + cat);
        }
    }
    
    1. 结果
    ------->myAware
    ------->com.nmys.story.springCore.springioc.importBean.Cat@78b66d36
    ------->com.nmys.story.springCore.springioc.importBean.Cat@78b66d36
    
  • 相关阅读:
    Python 企业面试题集锦之Python基础
    Jmeter 线程之间传递参数
    Jmeter 5.1参数化csv引入文件
    Jmeter 5.1命令行执行bat文件
    Idea JAVA項目的导入JAR包和导出jar包
    charles 设置弱网测试
    Jmeter_Beanshell 返回值中提取参数值
    在Notepad++里配置python环境
    python json格式参数遍历所有key、value 及替换key对于的value
    python 使用yaml模块
  • 原文地址:https://www.cnblogs.com/zhangjianbing/p/13726710.html
Copyright © 2011-2022 走看看