zoukankan      html  css  js  c++  java
  • springboot总结

    SPI: service provider interface 服务发现,从配置文件发现服务
    SPI的核心思想: 服务的动态提供
    目的: 加载一个外部文件,加载第三方jar。外部文件是无限扩展的。

    spring boot通过SPI加载配置文件(META-INF/spring.factories,文件里面的内容 key:value)的方式,把类加载到spring容器完成实例化
    tomcat的SPI: META-INF/services/javax.servlet.ServletContainerInitalizer

    spintboot:
    1. springboot的启动
    AnnotationConfigServletWebServerApplicationContext
    1.1 spring容器的启动: 调用了核心方法refresh()
    1.2 内置Tomcat的启动和部署: 钩子方法onRefresh:

    2.springboot的自动配置
    目的: 第三方包不能扫描到;常用功能AOP, MVC, Cache...自动加进来
    实现技术: SPI

    @EnableAutoConfiguration
    1. SPI 类的收集
    Import AutoConfigurationImportSelector:
    process(): 收集META-INF/spring.factories里key为@EnableAutoConfiguration的所有value的类
    selectImpport(): 过滤,排序
    2. ConfigurationClassPostProcessor 类只是把收集到的类变成beanDefinition
    并加入到spring 容器

    3.自定义starter
    1. 有一个自动配置的工程: 一般都是公用功能的封装 META-INF/spring.factories
    2. pom工程: 负责去导入公用功能的工程

  • 相关阅读:
    在Js或者cess后加版本号 防止浏览器缓存
    svn操作
    Hash表
    网站js埋点
    c#优秀文章
    CentOS修改默认yum源为国内yum镜像源
    mysql开启远程连接
    安装jdk环境
    Eclipse的一下设置
    好用的在线HTML、CSS工具
  • 原文地址:https://www.cnblogs.com/skorzeny/p/15648724.html
Copyright © 2011-2022 走看看