zoukankan      html  css  js  c++  java
  • Import注解

    @Import的参数是一个class类型的数组

    @Import(Cat.class)//可以把一个类当做一个Bean注入到Spring中
    @Import(CatConfiguration.class)//可以把一个配置类注入到spring中
    public class Cat {
    
        public void  miaomiao(){
            System.out.println("miaomiao");
        }
    }
    @Configuration
    public class CatConfiguration {
    
    
        @Bean
        public Cat cat() {
            return new Cat();
        }
    }

    可以看出,@Import注解可以把一个普通的类转换成一个bean,添加到spring容器中.

    也可以把一个配置类添加到spring的容器中,但是配置类本来就会被添加spring容器中啊

    如果@Import()中天机的是一个实现了ImportSelector接口类,那么就会把返回的全类名的数组都添加到spring容器中.

    @Import(DogSelector.class)//可以DogSelector中返回的全类名数组都加入到spring中管理
    public class DogSelector implements ImportSelector {
        @Override
        public String[] selectImports(AnnotationMetadata importingClassMetadata) {
            return new String[]{"com.mccloud.mccloudtest.conf.Dog","xxx.xxx.xxx.xxx",...};//可以把这里返回的类都加到sprin管理起来
        }
    }

    //BeanDefinitionRegistrat注册进来

    @Import(DuckBeanDefinitionRegistrat.class)//可以把一个BeanDefinitionRegistrat注册进来
    public class DuckBeanDefinitionRegistrat implements ImportBeanDefinitionRegistrar {
        @Override
        public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
            BeanDefinition beanDefinition = new RootBeanDefinition(Duck.class);
            registry.registerBeanDefinition("Duck", beanDefinition);
        }
    }
    public class Duck {
    
        public void gaga(){
            System.out.println("gaga");
        }
    }
  • 相关阅读:
    java中的几种对象(PO,VO,DAO,BO,POJO)
    【转】Spring boot 打成jar包问题总结
    mac 上安装lua
    Mac下更新Vim到最新版本
    刘以鬯和香港文学
    权重随机算法的java实现
    MySQL具体解释(7)-----------MySQL线程池总结(一)
    IIS PHP 配置 问题总结
    HDU 3622 Bomb Game(2-sat)
    poj 2388 Who's in the Middle
  • 原文地址:https://www.cnblogs.com/songfahzun/p/11792410.html
Copyright © 2011-2022 走看看