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

教人做素食的网站深圳网络营销技巧

教人做素食的网站,深圳网络营销技巧,品牌推广岗位,沈阳网站建设管理Spring Boot 的核心原理几个关键点 约定优于配置: Spring Boot 遵循约定优于配置的理念,通过预定义的约定,大大简化了 Spring 应用程序的配置和部署。例如,它自动配置了许多常见的开发任务(如数据库连接、Web 服务器配…

Spring Boot 的核心原理几个关键点

  1. 约定优于配置

    • Spring Boot 遵循约定优于配置的理念,通过预定义的约定,大大简化了 Spring 应用程序的配置和部署。例如,它自动配置了许多常见的开发任务(如数据库连接、Web 服务器配置等),使得开发人员可以专注于业务逻辑而不是繁琐的配置。
  2. 自动配置

    • Spring Boot 的自动配置(Auto-Configuration)机制是其核心功能之一。它通过在类路径下的 META-INF/spring.factories 文件中定义的配置类,根据应用程序的依赖关系和条件自动配置 Spring 环境。这样可以避免手动配置大量的 Spring 组件和 bean,显著简化了项目的初始化和配置过程。
  3. 起步依赖

    • Spring Boot 提供了大量的起步依赖(Starter Dependencies),它们是预配置的依赖项集合,可以快速地集成常见的技术栈(如Web 开发、数据访问、安全性等)。起步依赖不仅包含了必要的依赖库,还包含了相应的自动配置,使得整合第三方库变得简单和快速。
  4. 内嵌容器

    • Spring Boot 默认集成了多种内嵌的 Web 容器(如Tomcat、Jetty、Undertow),可以直接打包为可执行的 JAR 文件。这种方式简化了部署和运行 Spring 应用程序的过程,不需要额外部署外部的 Web 服务器。
  5. Actuator

    • Spring Boot Actuator 是一个用于监控和管理应用程序的功能模块,可以通过 HTTP、JMX 等多种方式暴露应用程序的内部信息和健康状况。Actuator 提供了许多内置的端点(Endpoints),例如 /actuator/health/actuator/info 等,用于查看应用程序的运行状态和详细信息。
  6. 外部化配置

    • Spring Boot 支持通过外部配置文件(如 application.properties 或 application.yml)来管理应用程序的配置。这些配置文件可以包含不同环境(如开发、测试、生产)的配置选项,允许在不同环境中灵活地切换配置项而无需修改代码。
  7. 注解驱动

    • Spring Boot 鼓励使用注解驱动的开发方式,例如 @SpringBootApplication@RestController@Service 等。这些注解简化了开发人员对 Spring 组件的声明和管理,提高了代码的可读性和维护性。
  8. 外部插件和扩展

    • Spring Boot 支持许多外部插件和扩展,如 Spring Boot DevTools、Spring Boot CLI 等,这些工具和插件进一步增强了开发体验和生产效率。

总体来说,Spring Boot 的设计理念是通过简化配置、提供默认值、自动化任务等手段,使得开发者可以更加专注于业务逻辑的实现,同时显著降低了构建和部署 Spring 应用程序的复杂性和成本。

自动配置原理及自定义自动配置类

原理分析

从@SpringBootApplication 开始

org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getCandidateConfigurations

org.springframework.core.io.support.SpringFactoriesLoader#loadSpringFactories

spring-boot 默认集成的自动配置类

注解@EnableAutoConfiguration是开启springboot开启自动配置的核心。详细流程如下

  1. 具体有@Import({AutoConfigurationImportSelector.class})实现批量导入配置组件容器的功能。
  2. 导入AutoConfigurationImportSelector的对象的selectImports方法返回的所有配置组件。

从spring-boot-autoconfig包中的Autoconfiguration.imports文件中读取需要加载的配置文件。但并不是所有配置都会生效,因为在所有的配置类上都有@ConditionalOnClass注解。当引入starter后,与之对应的@ConditionalOnClass就满足条件了,也就是相关的配置就生效了。

自动配置需要满足的条件,比如:

自定义自动配置类

src/main/resources/META-INF/spring.factories文件中添加自动配置类的引用:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.CustomAutoConfiguration

Spring Boot的启动器监听器

Spring Boot的启动器监听器(ApplicationRunner和CommandLineRunner)允许我们在应用程序启动后执行一些自定义逻辑。我们可以创建自己的启动器监听器来执行特定的初始化或后续操作。

选择使用 CommandLineRunner 还是 ApplicationRunner 取决于你需要处理的命令行参数的复杂性和类型。通常情况下,如果只需要简单地获取和打印命令行参数,可以选择 CommandLineRunner;如果需要更复杂的参数解析或处理逻辑,推荐使用 ApplicationRunner

ApplicationRunner

  • ApplicationRunner 接口中的 run 方法接收一个 ApplicationArguments 对象作为参数,这个对象提供了更丰富的功能来处理应用程序启动时的参数。
  • ApplicationArguments 对象不仅包含了原始的命令行参数数组,还提供了方便的方法来访问和解析命令行参数,包括非标记参数、选项参数等。
  • 适合处理复杂的命令行输入或需要更高级参数解析功能的初始化逻辑。

CommandLineRunner

  • CommandLineRunner 接口中的 run 方法接收一个字符串数组作为参数,这个数组表示应用程序启动时传递的命令行参数。
  • 使用 CommandLineRunner 接口时,你可以直接访问原始的命令行参数数组,可以方便地处理简单的命令行参数,不需要进行复杂的解析。
  • 适合处理基本的命令行输入或简单的初始化逻辑。

参考资料:

https://zhuanlan.zhihu.com/p/653791243

http://www.zhongyajixie.com/news/39470.html

相关文章:

  • 做博客的网站湖北网络推广seo
  • psd数据网站优化营商环境心得体会2023
  • 徐州网站建设公司百家号游戏推广话术
  • 济宁定制网站建设推广网站托管
  • b2b电子商务网站的建设站长收录平台
  • 信息网站模板网页开发流程
  • 物流做网站哪家好seo搜索优化是什么意思
  • 襄阳网站建设多少钱广州网站优化页面
  • 网站建设模板代理网络推广培训去哪里好
  • 携程企业网站建设的思路免费的网页模板网站
  • 做两性网站百度快照入口
  • 网站建设朋友圈广告网络推广可做哪些方面
  • 赌博网站做代理微信群卖房卡中文域名注册官网入口
  • 学校网站制作亚马逊关键词工具哪个最准
  • 安阳市地图小辉seo
  • 网站建设问卷调查爱站网站长seo综合查询工具
  • 什么直播可以做游戏视频网站南宁seo网站排名优化公司
  • 济南网站建设找聚搜网络长沙网站推广 下拉通推广
  • 广告网站建设教育培训报名
  • JavaScript做的网站网络推广外包注意哪些
  • 珠海专业做网站制作域名查询大全
  • 免费行情软件网站大全网页版徐州百度运营中心
  • 怎样把网站做的好看女生做sem专员的工作难吗
  • 中山模板自助建站查看别人网站的访问量
  • 佛山找人做网站英文网站seo
  • 首饰网站模板百度怎么优化关键词排名
  • 网畅学校网站管理系统百度推广网站平台
  • 用php做网站用什么框架石家庄疫情太严重了
  • 如何提高seo关键词排名seo广告优化
  • 需要手机号注册的网站关键词优化策略有哪些