zoukankan      html  css  js  c++  java
  • Spring boot 自动装配

    Spring boot 自动装配

    在 Spring Boot 场景下,基于约定大于配置的原则,实现 Spring 组件自动装配的目的。其中使用了底层装配技术

    底层装配技术

    • Spring 模式注解装配
    • Spring @Enable 模块装配
    • Spring 条件装配装配
    • Spring 工厂加载机制
      • 实现类: SpringFactoriesLoader
      • 配置资源: META-INF/spring.factories

    实现方法

    1. 激活自动装配 - @EnableAutoConfiguration
    2. 实现自动装配 - XXXAutoConfiguration
    3. 配置自动装配实现 - META-INF/spring.factories

    实现

    1. 启动类上使用@EnableAutoConfiguration激活自动装配
    @EnableAutoConfiguration
    public class EnableAutoConfigurationBootstrap {
        public static void main(String[] args) {
            ConfigurableApplicationContext context = new SpringApplicationBuilder(EnableAutoConfigurationBootstrap.class)
                    .web(WebApplicationType.NONE)
                    .run(args);
            // helloWorld Bean 是否存在
            String helloWorld =
                    context.getBean("helloWorld", String.class);
            System.out.println("helloWorld Bean : " + helloWorld);
            // 关闭上下文
            context.close();
        }
    }
    
    1. 实现自动装配类AutoConfiguration,自动装配类上可以使用模式装配,模块装配,条件装配
    @Configuration // Spring 模式注解装配
    @EnableHelloWorld // Spring @Enable 模块装配
    @ConditionalOnSystemProperty(name = "user.name", value = "MAIBENBEN") // 条件装配
    public class HelloWorldAutoConfiguration {
    }
    
    1. 在resource目录下创建META-INFspring.factories文件
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=
    com.imooc.diveinspringboot.configuration.HelloWorldAutoConfiguration
    
  • 相关阅读:
    【2017.12.02普及组模拟】送快递
    【NOIP2013模拟联考7】OSU
    顺序表元素位置倒置示例c++实现
    c++字符串排序
    JAVA实现四则运算的简单计算器
    JAVA图形小动画之简单行星运动
    JAVA多线程编程
    ege图形库之简单贪吃蛇(c++)
    ege图形库之动画排序
    c语言中一种典型的排列组合算法
  • 原文地址:https://www.cnblogs.com/fjf3997/p/13029163.html
Copyright © 2011-2022 走看看