zoukankan      html  css  js  c++  java
  • Spring——组件注册方法总结

    1、通过配置类的包扫描

    给配置类添加@ComponentScan,通过value指定要扫描的包+给组件标注注解(@Component ,@Service或 @Controller等等)

    2、通过@Bean在配置类中加入组件

    特点:使用第三方组件时可以不用更改第三方代码。

    3、@Import

    1)在配置类中使用@Import可以直接导入组件,容器会自动注册,id默认全类名

    2)ImportSelect:实现这个接口,通过接口提供的selectImports方法返回并注册全类名数组中的类,再给容器中注册ImportSelect接口实现类即可

    3)ImportBeanDefinitionRegistrar:实现这个接口,通过接口中的registerBeanDefinitions方法注册类并可自定义类名,最后给容器中注册ImportBeanDefinitionRegistrar接口实现类

    4、实现FactoryBean接口

    实现以下三个方法,最后给容器中注册FactoryBean接口实现类

    T getObject() throws Exception;
    Class<?> getObjectType();
    boolean isSingleton();
    
    

    
    

     上面是源码中的注释,举个例子:

    容器中注册进FactoryBean接口实现类后,获取它并getclass,得出的并不会是实现类,而是返回下图中的T泛型。即bean的名字是XXXFactoryBean(实现类的名字),但实际是我们自定义工厂所管理的类。



  • 相关阅读:
    埃尔多安回击“穆斯林都是恐怖分子”:坏人也可能是基督徒或犹太人
    通信行业并非那么”腹黑“
    苹果无人驾驶技术专家遭大众挖角
    数据结构之数组定义及基本操作(转)
    LCD浮点数显示函数的探讨
    C 数据类型
    C 基本语法
    C 标准库
    C 语言实例
    C 语言实例
  • 原文地址:https://www.cnblogs.com/Unicron/p/12333628.html
Copyright © 2011-2022 走看看