当前位置: 首页 > wzjs >正文

网站移动字幕要怎么做企业网站设计过程中必须重视的问题之一

网站移动字幕要怎么做,企业网站设计过程中必须重视的问题之一,网站logoPS怎么做,wordpress+主题+试用自动配置是Spring Boot的关键特性之一,它简化了传统Spring应用繁琐的配置,通过智能推断和条件化配置简化了Spring应用的开发。 1. 自动配置的核心思想 目标:根据项目的依赖(如类路径中的 JAR 包)和已有的配置&#xf…

自动配置是Spring Boot的关键特性之一,它简化了传统Spring应用繁琐的配置,通过智能推断和条件化配置简化了Spring应用的开发。

1. 自动配置的核心思想

目标:根据项目的依赖(如类路径中的 JAR 包)和已有的配置,自动创建和配置 Spring Bean,避免手动编写 XML 或 Java 配置。

关键特点

  • 条件化配置(@Conditional):根据条件(如类是否存在、Bean 是否缺失等)决定是否启用配置。

  • 默认优先:提供合理的默认值,同时允许开发者覆盖配置。

  • 模块化:通过 starter 依赖按需引入配置。

2. 自动配置的核心原理

(1)核心注解:@SpringBootApplication

  • @SpringBootApplication 注解组合了 @Configuation(标记为配置类)、@ComponentScan(包扫描)、@EnableAutoConfiguration(启用自动配置)
  • 作用:启用自动配置,扫描 META-INF/spring.factories文件,加载其中定义的自动配置类。
  • 关键点:@EnableAutoConfiguration 是激活自动配置的入口。

(2)自动配置类注册:xxx.imports

  • 文件路径:META-INF/xxx.imports(位于spring-boot-autoconfigure  JAR包)
  • 内容:键为 org.springframework.boot.autoconfigure.EnableAutoConfiguration ,值为多个自动配置类的全限定名。
  • 示例:
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration

(3)条件注解(Conditional Annotations)

SpringBoot使用条件注解控制配置类的生效条件:

  • @ConditionalOnClass:类路径中存在指定类时生效
  • @ConditionalOnMissingBean:容器中不存在指定 Bean 时生效
  • @ConditionalOnProperty:配置文件中存在指定属性时生效
  • @ConditionalOnWebApplication:当前应用是Web应用时生效

示例(DataSourceAutoConfiguration):

@Configuration
@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class })
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {// 当容器中没有 DataSource Bean 时,自动配置嵌入式数据库@Bean@ConditionalOnMissingBeanpublic DataSource dataSource() {// 创建默认的 DataSource(如 H2、HikariCP)}
}

(4)配置属性绑定:@EnableConfigurationProperties

  • 通过 application.properties application.yml 文件中的属性动态配置Bean。

3. 自动配置的执行流程

  1. 启动应用:调用 SpringApplication.run(),初始化应用上下文。

  2. 加载自动配置类

    • 扫描所有 META-INF/xxx.imports 文件,获取 EnableAutoConfiguration 对应的配置类列表。

  3. 过滤配置类

    • 根据条件注解(如 @ConditionalOnClass)排除不满足条件的配置类。(如缺少依赖,Bean已存在等)。

  4. 应用配置(注册Bean)

    • 将符合条件的配置类加载到Spring容器,创建所需的Bean。

4. 自动配置示例:Web MVC

当引入 spring-boot-starter-web 依赖时:

  1. 依赖触发:类路径中存在 ServletSpring MVC 相关类。

  2. 自动配置生效

    • WebMvcAutoConfiguration 自动配置 DispatcherServlet、视图解析器等。

    • 默认静态资源路径(/static/public)生效。

  3. 自定义覆盖

    • 开发者可通过 @Bean 自定义 ViewResolver 覆盖默认配置。

5.自定义自动配置

  1. 覆盖默认配置:
    1. 定义自己的 Bean:Spring Boot 优先使用用户定义的 Bean(@ConditionalOnMissingBean 会失效)。

      @Bean
      public DataSource myDataSource() {// 自定义 DataSource,覆盖自动配置
      }
  2. 创建自定义starter:
    1. 创建自动配置类:
      @Configuration
      @ConditionalOnClass(MyService.class)
      public class MyServiceAutoConfiguration {@Beanpublic MyService myService() {return new MyService();}
      }
    2. 注册配置类到 META-INF/xxx.imports
      org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.MyServiceAutoConfiguration

总结:SpringBoot自动配置原理

  • 在主启动类上添加了SpringBootApplication注解,这个注解组合了EnableAutoConfiguration注解
  • EnableAutoConfiguration注解又组合了Import注解,导入了AutoConfigurationImportSelector类
  • 实现selectImports方法,这个方法经过层层调用,最终会读取META-INF目录下的后缀名为imports的文件,boot 2.7以前的版本读取的是spring.factories文件
  • 读取到全类名之后,会解析注册条件,也就是@Conditional及其衍生注解,把满足注册条件的Bean对象自动注入到IOC容器中

文章转载自:

http://CjG7a2Jq.kmrgL.cn
http://4PFuCrPs.kmrgL.cn
http://WAr8RL6d.kmrgL.cn
http://4RZbstHV.kmrgL.cn
http://MZXIR3kt.kmrgL.cn
http://ivlh5Ftn.kmrgL.cn
http://rqWn96XA.kmrgL.cn
http://sCOrBUMH.kmrgL.cn
http://lzvMUASm.kmrgL.cn
http://4BKz5TGX.kmrgL.cn
http://yAe51PSr.kmrgL.cn
http://19AMfCNR.kmrgL.cn
http://yya5I7Xo.kmrgL.cn
http://D5Xscjfw.kmrgL.cn
http://rYmogP44.kmrgL.cn
http://eLCHpMcO.kmrgL.cn
http://yYllDOAx.kmrgL.cn
http://5I8VJgAe.kmrgL.cn
http://O7NhSp9Q.kmrgL.cn
http://xP9m6wWR.kmrgL.cn
http://TZ2IQSkQ.kmrgL.cn
http://OgF29huc.kmrgL.cn
http://iF4qcAje.kmrgL.cn
http://tDbWByCv.kmrgL.cn
http://UGVU3rIO.kmrgL.cn
http://Dkc72ABu.kmrgL.cn
http://dn3eFhqB.kmrgL.cn
http://kZQi6S7T.kmrgL.cn
http://O6xanVCg.kmrgL.cn
http://a2cC7yTL.kmrgL.cn
http://www.dtcms.com/wzjs/691763.html

相关文章:

  • 白云网站 建设seo信科廊坊快速优化排名
  • 江苏营销型网站策划wordpress主题邮件模板下载
  • 网站设计 三把火科技企业安全文化建设做法
  • 做微信链接的网站如何利用php开源系统建立php网站
  • 深圳网站 商城制作网站项目上线流程
  • 微信小程序制作工具平台苏州seo排名优化
  • 做网站怎么存放视频合浦网站建设
  • 学生组织网站建设做网站前台要学哪些
  • 网站建设还能赚钱吗北京网站建设公司资讯
  • 网站代码多彩搜索引擎优化答案
  • 网站建设跟前端有什么区别上海建网站开发公司
  • 旅游网站如何建设昆明小程序制作
  • 怎么去跟客户谈网站建设wordpress app内
  • 网站建设询价函格式深圳博惠seo
  • 网站建设电销话术开场白建设网站公司价格
  • 国外做meta分析的网站网站建设费无形资产摊销
  • 华为云 搭建网站怎样做一个网络营销
  • 外贸公司网站模板免费驻马店北京网站建设
  • 官方网站焊工证查询大连哪里有手机自适应网站建设维护
  • 怎么创建一个博客网站吗wordpress添加贴吧表情
  • 上海网站公公司注册地址和实际经营地址不一样可以吗
  • 淘宝客建立网站微网站建设包括哪些方面
  • 在线视频下载网站如何做工信部网站域名备案
  • 怎做视频网站wordpress 修改默认路径
  • 化妆网站模板建筑人才网电话
  • 建设项目管理公司网站外汇平台网站建设
  • 做网站需要做什么页面长沙征帆网站建设
  • 个人网站不备案可以吗网站建设的中期目标
  • 想做个网站报价蔬菜价格怎么做wordpress附件上传云
  • 优秀企业网站建设定制怎样做企业网站备案