SpringBoot注解

自动配置源码解析

  1. 解析@SpringBootApplication(组合注解,jdk1.5)
    • 元注解
      • Target
      • Retention
      • Documented
      • Inherited:表示注解会被子类自动继承@SpringBootApplication
    • @SpringBootConfiguration
      • arget
      • Retention
      • Documented
      • Configuration 等价于SpringBootConfiguration
    • @EnableAutoConfiguration
      • 开启自动扫描:用户自定义的(@Controller、@Service..)、框架启动时自带配置,创建工作交给Spring
      • @AutoConfigurationPackage
        • 用户自定义的类
        • @Import(AutoConfigurationPages.Registrar.class):Registrar.registerBeanDefinitons()
      • @Import(AutoConfigurationImportSelector.class)
        • 导入框架启动时自带配置
        • AutoConfigurationImportSelector.getCandidateConfigurations()加载引入的Spring-boot-*-Autoconfig包META-INFO文件加下spring.factories文件内相关的类路径
    • @EnableXXX:开启某一项功能,简化代码导入,使用该类注解,就会自动导入某些类。该类注解时组合注解,一般都会组合@Import注解。一般导入类分三种:配置类、注册器、选择类
      • 配置类:配置类一般以Configuration结尾,且该类上会注解@Configuration,表示该类为配置类
      • 注册器:注册时一般以Registrar结尾,且该类实现了ImportBeanDefinitionRegistrar接口,表示可以在运行时动态注册指定类的实例。
      • 选择类:选择器一般以selector结尾,且该类实现了ImporSelector接口,表示当前类会根据条件选择导入的不同的类。
    • @ComponentScan
      • 配置扫描指令注解:
        • 用于扫描带有@Configuration的类;
        • 提供并执行支持xml(<context:component-scan>)即注解和xml可以一起使用。
        • 指定会被扫描的包
      • @Repeatable
        • 表明它标注的注解及其再上一级标注的注解能被多次使用,但是要指明不同属性
        • includeFilters:指定这些类所在包
        • excludeFilters:排除这些类所在包
      • 只是配置了扫描指令,没有扫描
自定义Starter
  • Starter工程的命名需要遵循的规范
    • Spring官方定义的Starter格式:Spring-boot-starter-{name}
    • 非官方定义的Starter的格式:{name}-Spring-boot-starter
posted @   Java新人开发  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示