zoukankan      html  css  js  c++  java
  • SpringBoot 使用注解向容器中注册Bean的方法总结

    1、使用组件注解

    如果使用组件注解需要搭配@ComponentScan,该注解会指定需要扫描的包,扫描以后,路径内所有带有组件注解的类都将被注册进IOC容器当中

    @Component:定义一个Bean

    以下几个注解功能都和@Component相同,一般用于特定位置,便于区分。

    @Controller/RestController:定义一个Bean,用于标识控制器,其中@RestController包含了@ResponseBody注解,用于Rest风格接口的开发

    2、使用@Bean、@Configuration注解

    先使用@Configuration将一个类指定为配置类,在配置类中使用@Bean进行定义

    运行时,该配置类,和类中的Bean都会被注入到容器中

      @Bean("Test1")
        public Test1 Test1(){
            return new Test1();
        }

    直接返回需要注入的Bean对象实例即可,也可以省略Bean后面的参数,此时会以方法名作为Bean的标识

    3、使用@Import注解

    SpringBoot的@Import注解可以用于为容器中注册Bean

    有三种使用方法:

    1、直接Import某个类,将这个类添加到IOC容器中

    @Import( { A.class,B.class } )

    2、导入实现了@ImportSelector接口的实现类

    如果想根据某些属性进行判断是否导入某个Bean,则可以在@Import中传入实现了@ImportSelector的实现类

    在执行时,@Import如果判断出传入的是实现了@ImportSelecor接口的实现类,就会调用该类中的selectImport方法,判断需要导入的configuration

    3、导入实现了@ImportBeanDefinitionRegistrar接口的实现类

    在执行时,会调用该类中的registerBeanDefinitions方法,通过参数中的BeanDefinitionRegistry可以进行Bean的注册

  • 相关阅读:
    Use Prerender to improve AngularJS SEO
    Prerender.io
    Prerender Application Level Middleware
    Prerender Application Level Middleware
    正则获取html标签字符串中图片地址
    xml转json
    videojs实现双击视频全屏播放、播放器全屏时视频未全屏
    自己编写jquery插件
    点击回退时需要点击2次才可返回js
    if中有逗号的写法
  • 原文地址:https://www.cnblogs.com/ELAIRS/p/12719238.html
Copyright © 2011-2022 走看看