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

湘潭九华网站志鸿优化设计官网

湘潭九华网站,志鸿优化设计官网,哪个网站做的w7系统好,建设银行网上营业厅谈一谈你对SpringBoot的理解,它有哪些特性(优点)? SpringBoot用来快速开发Spring应用的一个脚手架,其目的是用来简化新Spring应用的初始搭建以及开发过程。 优点: 简化配置:提供了很多内置的…

谈一谈你对SpringBoot的理解,它有哪些特性(优点)?

SpringBoot用来快速开发Spring应用的一个脚手架,其目的是用来简化新Spring应用的初始搭建以及开发过程。

优点:

  1. 简化配置:提供了很多内置的starter结合自动配置对主流框架无配置集成、开箱即用。
  2. 自动配置:Spring Boot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-boot-starterweb启动器就能拥有web的功能,无需其他配置。
  3. 无代码生成和XML配置:Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是Spring4.x的核心功能之一。
  4. 独立运行:可以打包为一个独立的Jar文件,内置Tomcat服务器,可以直接启动web应用
  5. 依赖管理:管理了常用的第三方依赖的版本,减少了版本冲突问题
  6. 兼容性与扩展性:Spring Boot 基于 Spring 框架,继承了 Spring 的丰富生态系统,同时保持了极好的向后兼容性,适合长期项目开发。

Spring和SpringBoot的核心注解 

1. @SpringBootApplication:这是 Spring Boot 应用的核心注解,通常放在主类上,用于标记一个主启动类。标识了一个SpringBoot工程,它是一个复合注解,包含了以下三个注解: 

  1. @SpringBootConfiguration:相当于 @Configuration,表示这是一个配置类。
  2. @EnableAutoConfiguration:启用 Spring Boot 的自动配置机制,根据类路径中的依赖自动配置 Spring 应用。
  3. @ComponentScan:启用包扫描功能,扫描当前包及其子包中标注了 @Component@Service@Repository@Controller 等注解的类。 

2.@Conditional:与自动配置相关,允许根据某些条件有选择性地注册 Bean 或激活配置。例如,根据系统属性、环境变量等条件激活某些配置。 

  1. @ConditionalOnBean:用于自动配置中,当需要某个 Bean 存在时,才能加载某些组件
  2. @ConditionalOnClass:当类路径下存在指定的类时,才会加载当前的配置或 Bean
  3. @ConditionalOnMissBean:与 @ConditionalOnBean 相反。当容器中没有某个指定的 Bean 时,才会加载当前的配置或 Bean

 SpringBoot的自动配置原理

Spring Boot的自动配置原理是基于条件化配置(Conditional Configuration)的概念。自动配置使得在应用程序启动时,Spring Boot可以根据项目的依赖和类路径上的内容,自动配置各种功能和组件,而无需开发者显式地进行大量的配置。

1.通过@SpringBootConfiguration引入@EnableAutoConfigration来启动自动配置

2.@EnableAutoConfigration引入了@import,@import中导入了@deferredImportSelect注解,它会使SpringBoot的自动配置类顺序在最后,方便我们扩展和覆盖

3.Spring容器启动时:加载IOC容器时会解析@Import注解

4.然后读取所有starter中的META-INF/spring.factories文件(这个文件中列出了各个Starter所提供的自动配置类)

5.自动配置类的读取: Spring Boot会在启动时扫描项目的依赖中的spring.factories文件,找到各个Starter的自动配置类(AutoConfigrationClass类),并加载这些类。

6.@Conditional 注解的条件判断: 自动配置类通常会使用 @Conditional 注解来定义一些条件,例如 @ConditionalOnClass、@ConditionalOnMissingBean 等。这些条件会在Spring Boot启动时进行评估,根据条件判断结果来决定是否应用某个自动配置。

7.自动配置与Bean注入: 符合条件的自动配置类会在Spring容器中创建和注册一些Bean。这些Bean通常是应用程序所需的基础设施,如数据源、消息队列、缓存等。这些Bean会根据自动配置的条件和配置信息被注入到Spring的应用上下文中。

 SpringBoot的启动流程

1. 主方法执行

  • 启动 Spring Boot 应用的入口是 main 方法,通常是一个带有 @SpringBootApplication 注解的类。SpringApplication.run() 方法会被调用,启动整个应用。

2. 创建 Spring 应用上下文

  • SpringApplication 创建一个 ApplicationContext(通常是 AnnotationConfigApplicationContextSpringApplication 的子类),这是 Spring 容器的核心,用于管理 Bean 的生命周期和配置。

3. 设置应用环境

  • SpringApplication 会创建并设置一个 ConfigurableEnvironment,这包括读取配置文件(如 application.propertiesapplication.yml)、命令行参数、环境变量等。

4. 处理命令行参数

  • 如果有提供命令行参数,SpringApplication 会解析这些参数并应用到环境中。

5. 准备上下文

  • 在创建 ApplicationContext 之前,Spring Boot 会执行一些准备工作,如设置默认的环境配置、设置 Spring Boot 特性等。

6. 加载 Bean 定义

  • Spring Boot 使用 @Configuration@ComponentScan 注解来扫描并加载应用中的 Bean 定义。@SpringBootApplication 注解实际上是 @ComponentScan 的一个组合,自动扫描同包及其子包中的组件。

7. 自动配置

  • 启用自动配置功能,@EnableAutoConfiguration 注解会根据应用的依赖和环境条件自动配置所需的 Bean。Spring Boot 会加载 spring.factories 文件中的配置类,执行自动配置逻辑。

8. 创建和初始化 Bean

  • 根据 Bean 定义,Spring 容器创建这些 Bean,并通过依赖注入(DI)满足它们之间的依赖关系。此过程包括执行构造函数、设置属性、调用 @PostConstruct 方法等。

9. 应用上下文刷新

  • 调用 ApplicationContextrefresh() 方法,完成上下文的初始化。此时,所有 Bean 都会被创建并被注入。

10. 事件发布

  • 在上下文刷新后,Spring Boot 会发布一些事件,如 ApplicationReadyEventApplicationStartedEvent,开发者可以通过实现 ApplicationListener 接口来监听这些事件。

11. 运行 Web 应用

  • 如果是一个 Web 应用,Spring Boot 会启动内嵌的 Web 服务器(如 Tomcat、Jetty),并将应用的上下文与服务器关联,开始监听请求。

12. 完成启动

  • 应用完成启动后,可以开始处理来自客户端的请求,用户可以通过配置的端点与应用进行交互。

总结

Spring Boot 的启动流程大致分为以上几个步骤,从执行主方法开始,到创建和配置 Spring 上下文,再到加载 Bean 和自动配置,最终启动 Web 服务器并处理请求。这个流程简化了传统 Spring 应用的配置,使开发者能够专注于业务逻辑,而不是底层的框架细节。

Spring Boot REST 请求风格 

HTTP 协议是一个广泛应用的 Internet 协议,不同的请求方法,常见的有GET , POST , PUT , DELETE
REST 全称 Representational State Transfer ——(资源)表现层状态转化,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便, 所以正得到越来越多网站的采用
REST 风格就是通过 Http 请求方式的不同来标识不同的方法,即对于同一个请求路径,可以根据请求方式的不同来区分它们

 

springBoot的核心配置文件有哪些,作用是什么

application 和 bootstrap 配置文件。
application: 用于项目的自动化配置。
bootstrap: 一些不能被覆盖的属性和加密或解密的场景。比application要先加载。

springBoot配置文件有几种类型,区别是什么

.yml和.properties区别主要是书写方法不一样

.properties基于键值对的配置文件,使用 key=value 的格式进行配置,易读。

.yml使用缩进和层级结构表示配置,比 application.properties 更加易写,更适合嵌套结构的配置。

.properties加载优先级大于.yml。

什么是热部署?springBoot怎么实现热部署 

热部署: 修改代码不需要重启,就可以实现编译并部署到服务器上。(1)在开发时修改代码不需要重启服务,节省了时间。(2)部署在服务器上的程序,可以在不停止的情况下进行升级。
①使用devtools。在配置文件中把devtools.restart.enabled 设置为 true。每次都需要build一下才行。
②idea设置实现热部署。

http://www.hrbkazy.com/news/34489.html

相关文章:

  • 电商的网站开发订单返利功能如何自己做网页
  • 网页制作素材网站推荐网络销售每天做什么
  • 网页设计实训报告主要内容北京网站建设东轩seo
  • 网站视频如何下载青岛网站seo
  • 用Html5做网站广州搜发网络科技有限公司
  • 建设旅游景点的网站的好处微信软文范例大全100
  • wordpress 视频图片网站黑科技推广软件
  • 代码网站怎么做的中山做网站推广公司
  • 小说阅读网站开发源码温州seo推广外包
  • 中山建设局网站网站建设规划书
  • 上海做网站比较有名的公司有哪些网页搜索快捷键
  • 太原建站模板系统专业营销团队公司
  • cp网站开发是什么驾校推广网络营销方案
  • 茶叶网站flash模板seo专员是什么
  • 微信推广平台哪个好网站排名优化+o+m
  • 网站开发栏目需求1博客网站登录入口
  • 赣州网站建设-赣州做网站营销图片大全
  • 网站备案幕布大小大数据营销案例分析
  • 做实验学编程的网站seo排名优化方式方法
  • 玉环 网站建设一份完整的品牌策划方案
  • 网站后台操作教程百度热搜关键词
  • 潮州网站设计企业网络推广方案
  • 大连手机自适应网站制作公司腾讯新闻最新消息
  • 广西住建局官方网站icp备案查询
  • 微信公众号登录入口在哪东莞seo外包
  • 可以自己制作动画的app福州seo网址优化公司
  • 中国人做外贸网站都卖什么手续2023半夜免费b站推广
  • 做网站开发需要的英语水平中国舆情观察网
  • 网上做名片的网站百度号码认证申诉平台
  • 网站轮播图片怎么做的小红书如何引流推广