SpringBoot 自动装配笔记

2020-08-30  本文已影响0人  jianshujoker

SpringBoot是什么

约定优于配置

约定是一种规范,即大家定好某某东西默认应该是怎么样的,以达到简化配置的作用,当不配置时,使用约定好的值

快速高效,以SpringMVC为例子

SpringBoot 四大特性

Spring注解驱动的发展

1.x

此时Java5刚出来,兴起了使用Annotation的技术风。但此时Spring装载Bean还是xml
<bean id="" class=""/>

2.x

提供了大量注解

此时还没有完全去xml化,还需要xml配置像component-scan

相对1.x减少xml配置

3.x

注解驱动的里程碑,功能特性有非常大的扩展

4.x

@Conditional 条件完成Bean初始化

5.x

@Indexed 索引,提升componentScan的性能

Spring的动态装配(动态的装配)

SPI

最早来源于Java Service Loader 称为service provider interface,为接口提供实现。Spring进行扩展SpringFactoriesLoader:会拿到所有META-INF/spring.factories所配置的接口与实现

自动装配

由@EnableAutoConfiguration开始,开启自动装配

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})//运用Spring的动态装载,加载自动装配类
public @interface EnableAutoConfiguration {
    String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";

    Class<?>[] exclude() default {};

    String[] excludeName() default {};
}
enableAutoConfiguration.png
上一篇 下一篇

猜你喜欢

热点阅读