• Spring拥有多个JavaConfig(@Configuration)的情况


    1:在加载Spring容器时,加载多个@Configuration类。 

    需要继承AbstractAnnotationConfigDispatcherServletInitializer类,并重写其方法来加载@Configuration标注的类

    @Override

    protected Class<?>[] getServletConfigClasses() {

          return new Class<?>[] { FirstConfig.class,SecondConfig.class };

    }

    或者

    AnnotationConfigApplicationContext aContext = new AnnotationConfigApplicationContext();
    aContext.register(FirstConfig.class);
    aContext.register(SecondConfig.class);
    aContext.refresh();

    2:在加载Spring容器时,加载单个@Configuration类,但要通过@Import 方式整合其他@Configuration类。

    @Configuration
    @Import(SecondConfig.class)
    public class FirstConfig {

        @Bean
        public FirstServiceImpl firstServiceImpl(SecondService secondService){
            FirstServiceImpl fImpl = new FirstServiceImpl();
             fImpl.setSecondService(secondService);
             return fImpl;
        }
    }


    原理总结:

    1、@Configuration类会先合并,后解析,也就是说,配置的内容会合并处理。

    2、因为多个 @Configuration类最终会合并到一起(形成一个 ApplicationContext),因此这些配置中的 bean 都是可以互相引用的。

  • 相关阅读:
    mysql function 与 procedure
    mysql存储过程详解
    mysql的过程和Oracle的区别
    ext combobox getValue
    tar + find
    精确到秒的JQuery日期控件
    SQL中not and or优先级问题
    sql生成一个唯一标示
    Guid.NewGuid().ToString()的几种格式 (转)
    win10怎样彻底关闭windows Defender
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302459.html
Copyright © 2020-2023  润新知