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

排名好的移动网站建设软件开发项目方案

排名好的移动网站建设,软件开发项目方案,网站如何防注册机,社工站建站流程重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例#xff1a;Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一#xff0c;它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring … 重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring Boot 的 “约定优于配置” 的设计理念。本教程将带你了解 Spring Boot 自动配置的背后原理并通过示例解释其工作方式。 Spring Boot 自动配置原理 Spring Boot 自动配置的核心是一系列自动配置类这些类通常基于类路径中的存在和属性值来条件性地配置应用程序。 主要步骤如下 启动类每个 Spring Boot 应用都有一个启动类通常使用 SpringBootApplication 注解。这个注解是一个组合的注解它包含了 EnableAutoConfiguration后者是自动配置的关键。 EnableAutoConfiguration这个注解告诉 Spring Boot 开始扫描候选自动配置类并应用它们。这些候选自动配置类通常通过 spring.factories 文件存放该文件位于自动配置模块的 META-INF/ 目录下。 条件注解自动配置类使用条件注解如 ConditionalOnClass、ConditionalOnBean、ConditionalOnProperty 等来确保只有在特定条件满足时才应用配置。例如某个自动配置类可能只在某个类存在于类路径上时才激活。 属性绑定自动配置过程还涉及将外部配置如 application.properties 或 application.yml绑定到配置类上进一步定制化自动配置。 相关源码 从启动类开始 SpringBootApplication 注解其实包含三个注解自动配置相关的是 EnableAutoConfiguration org.springframework.boot.autoconfigure.EnableAutoConfiguration通过 Import 导入自动配置模块的导入选择器AutoConfigurationImportSelector它的作用是在启动时扫描指定包路径下的所有自动配置类并根据应用程序的依赖关系和环境变量等信息自动地选择需要引入的自动配置类并将其注册为 Bean以便应用程序可以正常使用这些自动配置的功能。 org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#selectImports该方法的主要作用是从给定的注解元数据中筛选出需要导入的包名。 org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getAutoConfigurationEntry用于获取自动配置项的入口点。该方法接受一个参数即要获取的自动配置项的名称。它返回一个 AutoConfigurationEntry 对象该对象包含了自动配置项的详细信息如类路径、Bean 定义等。重点看该方法内调用的 getCandidateConfigurations() 方法。 org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getCandidateConfigurations这个方法的作用是获取候选的自动配置类列表。 org.springframework.boot.context.annotation.ImportCandidates#load通过调用 ImportCandidates.load() 方法从 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中加载候选的自动配置类并将其存储在 configurations 变量中。 org.springframework.boot.autoconfigure.AutoConfiguration.imports存放了 SpringBoot 自动配置类不同 SpringBoot 版本数量不同。 回到 org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getAutoConfigurationEntry会对读到所有的自动配置类进行筛选。 org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.ConfigurationClassFilter#filter筛选条件就是使用条件注解如 ConditionalOnClass、ConditionalOnBean、ConditionalOnProperty 等来确保只有在特定条件满足时才应用配置。 例如符合筛选条件的 org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration 自动配置类类上带有 EnableConfigurationProperties({ServerProperties.class})既将配置文件如 application.properties 或 application.yml中的属性绑定到带有 ConfigurationProperties 注解的类 ServerProperties.class 对象上从而达到引入 starter 配置少量参数就能运行的目的。 示例Spring Boot Web 自动配置 假设你想创建一个简单的 Spring Boot Web 应用。你只需要做以下几步 添加依赖在 pom.xml 或 build.gradle 文件中添加 Spring Boot Starter Web 依赖。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency创建启动类 SpringBootApplication public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);} }编写控制器 RestController public class HelloController {GetMapping(/)public String hello() {return Hello, Spring Boot!;} }配置文件 server.port8808在这个例子中spring-boot-starter-web 包含了 Spring MVC 和 Tomcat 作为默认的嵌入式服务器以及其他 Web 开发所需的依赖。当你启动应用时Spring Boot 的自动配置会检测到类路径上的 spring-webmvc 和嵌入式 Tomcat并自动配置它们。这意味着你通过少量的配置或默认配置就可以运行一个基本的 Web 应用。 深入理解 自定义自动配置如果默认的自动配置不符合你的需求你可以通过添加自定义配置来覆盖或补充默认配置。此外你也可以通过排除特定的自动配置类来禁用它们。 条件化配置理解自动配置背后的条件逻辑对于高效使用 Spring Boot 非常重要。你可以查看特定自动配置类的源码以了解它们是如何根据应用的状态和外部配置做出决策的。 总结 Spring Boot 的自动配置极大简化了 Spring 应用的配置工作让开发者可以专注于应用逻辑的实现而非繁琐的配置。通过合理利用自动配置和条件注解你可以快速地构建出既强大又灵活的 Spring 应用。了解并掌握 Spring Boot 自动配置的原理和使用方法将有助于你更高效地开发 Spring Boot 应用。 相关阅读 重学SpringBoot3-Import注解的作用 重学SpringBoot3-ConditionalOnXxx条件注解 重学SpringBoot3-ConditionalOnXxx条件注解 重学SpringBoot3-EnableConfigurationProperties注解
http://www.w-s-a.com/news/30760/

相关文章:

  • 空白网站建设wordpress高亮代码过长
  • 盐城 网站开发什么叫做门户网站
  • 广东快速做网站公司哪家好本地建wordpress
  • dedecms如何做网站贵阳seo计费管理
  • 企业网站设计一般多少钱呼和浩特最好的互联网公司
  • 黄浦专业做网站海南网站策划
  • 网站开发工程师有证书考试吗织梦cms是免费的吗
  • 电子商务网站建设需要学什么门户网站推广介绍方案
  • 网站里的专题页面wordpress查询数据库结构
  • WordPress子站站群网站建设代码生成器
  • 怎么攻击织梦网站甘肃省最新消息今天
  • 赣州哪里可以做网站看装修案例的网站
  • 旅游网站专业化建设的要点php 手机网站 模板
  • wordpress百度站长主动推送长春火车站官网
  • 比较好的响应式网站wordpress博客增加音乐页面
  • 广告公司出售家具 税率江门做网站seo的
  • 网站设计建议建设商务网站作用
  • 网站策划的最终体现是什么模板网站建设流程图
  • 网站设计与开发技术教程十度公司做网站怎么样
  • 企业网站推广方案在哪里智慧团建登录入口官网手机版
  • google网页版入口seo索引擎优化
  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板