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

做视频网站的流程软件项目外包平台

做视频网站的流程,软件项目外包平台,在线制作动画的网站,普通企业网站营销介绍一下Spring Boot,有哪些优点?Spring Boot提供了一套默认配置,通过约定大于配置帮我们快速搭建Spring项目骨架。以前的Spring开发需要配置大量的xml文件,大量第三方jar包依赖还要手动引入。Spring Boot只需要引入一个Starter和…

介绍一下Spring Boot,有哪些优点?

Spring Boot提供了一套默认配置,通过约定大于配置帮我们快速搭建Spring项目骨架。

以前的Spring开发需要配置大量的xml文件,大量第三方jar包依赖还要手动引入。Spring Boot只需要引入一个Starter和@SpringBootApplication注解就可以搞定。

优点有:

  • Spring Boot内嵌了Tomcat、Jetty、Undertow等容器,直接运行jar包就能启动
  • Spring Boot内置了Starter和自动配置,省去了大量手动配置的工作。比如如果项目中添加了 spring-boot-starter-web,Spring Boot 会自动引入并配置 Tomcat 和 Spring MVC
  • Spring Boot内置了ActuatorDevTools,便于调试和监控。

Spring Boot常用注解有哪些?

  1. @SpringBootApplication:Spring Boot 应用的入口,用在启动类上。
  2. 还有一些 Spring 框架本身的注解,比如 @Component@RestController@Service@ConfigurationProperties@Transactional 等。

Spring Boot自动配置原理了解吗?

Spring Boot 会根据项目类路径中存在的 Jar 包、自定义的 Bean 以及各种配置属性,自动推断并创建、配置应用程序所需的各种组件,而无需手动编写大量的配置代码。

在 Spring Boot 中,开启自动配置的注解是@EnableAutoConfiguration它会扫描所有自动配置类

Spring Boot 为了进一步简化,直接通过 @SpringBootApplication 注解一步搞定,该注解包含了 @EnableAutoConfiguration 注解。

main 类启动的时候,Spring Boot 会加载所有自动装配类到内存,但不会立即生效。需要条件注册@Condition评估所有条件都满足后,该配置类才会被Spring容器完全处理,其内部定义的Bean才会被创建并注册到IoC容器中。

如何自定义一个Spring Boot Starter

第一步,创建一个新的 Maven 项目,例如命名为 my-spring-boot-starter。在 pom.xml 文件中添加必要的依赖和配置。

第二步,创建一个简单的服务类 MyService.java

第三步,创建一个配置属性类 MyStarterProperties.java

第四步,在 src/main/java 下创建一个自动配置类,比如 MyServiceAutoConfiguration.java:(通常是 autoconfigure 包下)。

第五步,在 src/main/resources/META-INF 目录下创建 spring.factories 文件,指明所有自动配置类的路径

第六步,使用 Maven 打包这个项目

第七步,在其他的 Spring Boot 项目中,通过 Maven 来添加这个自定义的 Starter 依赖,并通过 application.properties 配置MyService的配置信息

Spring Boot Starter的原理了解吗?

Spring Boot Starter 主要通过起步依赖和自动配置机制来简化项目的构建和配置过程。

起步依赖是 Spring Boot 提供的一组预定义依赖项,它们将一组相关的库和模块打包在一起。比如 spring-boot-starter-web 就包含了 Spring MVC、Tomcat 和 Jackson 等依赖。

自动配置机制是 Spring Boot 的核心特性,通过自动扫描类路径下的类、资源文件和配置文件自动创建和配置应用程序所需的 Bean 和组件。

比如有了 spring-boot-starter-web,我们开发者就不需要再手动配置 Tomcat、Spring MVC 等,Spring Boot 会自动帮我们完成这些工作。

Spring Boot的启动原理了解吗?

一、启动类准备阶段

加载启动类:SpringBoot启动时,会在当前工作目录下扫描带有@SpringBootApplication注解标识的类,并把这个类作为应用程序的入口点。

二、配置加载阶段

加载配置文件:SpringBoot会自动扫描当前项目的resources目录,并加载其中的application.propertiesapplication.yml等配置文件。加载数据库配置参数,日志级别等。

配置环境:创建和配置Environment,该对象包含了应用程序的运行环境信息。

三、初始化ApplicationContext

创建ApplicationContext:根据应用程序类型创建相应的ApplicationContext实例

加载Bean:扫描当前项目中的所有Bean,将它们注册并创建到ApplicationContext中。扫描并处理Starter的自动配置类,根据类路径下的依赖情况和当前应用Bean的配置情况自动配置并创建相应的Bean

四、启动内嵌的Web容器

如果当前项目是一个Web应用,SpringBoot会根据配置信息自动创建Web容器,并将Spring容器注册到Web容器

五、启动应用程序

根据之前创建好的Spring容器以及Web服务器,启动相应的线程进行服务处理

六、监听应用程序的状态

SpringBoot会监听应用程序的状态,并根据需要进行相应的操作。例如,当应用程序退出时,它会打印出详细的日志信息,并将应用程序的上下文环境恢复到初始状态。

七、发布事件

在启动的不同阶段,SpringBoot会发布各种事件,如started()、ready()等,允许开发者在特定的时间点执行自定义的逻辑

八、停止计时并打印日志

StopWatch停止计时,并打印出整个启动过程所花费的时间。

了解@SpringBootApplication注解吗?

@SpringBootApplication是 Spring Boot 的核心注解,经常用于主类上,作为项目启动入口的标识。它是一个组合注解:

  • @SpringBootConfiguration:继承自 @Configuration,标注该类是一个配置类,相当于一个 Spring 配置文件。
  • @EnableAutoConfiguration:告诉 Spring Boot 根据 pom.xml 中添加的依赖自动配置项目。例如,如果 spring-boot-starter-web 依赖被添加到项目中,Spring Boot 会自动配置 Tomcat 和 Spring MVC。
  • @ComponentScan:扫描当前包及其子包下被@Component@Service@Controller@Repository 注解标记的类,并注册为 Spring Bean。

为什么Spring Boot启动的时候能够找到主类上的@SpringBootApplication注解?

启动的时候执行main方法中的run方法,run方法接受两个参数,主应用类、命令行参数。

主应用类也就是main方法属于的类,也就是启动类,SpringBoot会通过反射机制检查这个主应用类,看看上面有没有@SpringBootApplication注解

SpringBoot默认的包扫描路径是什么

启动类所在包及其子包下的所有组件

Spring Boot和Spring MVC区别

Spring MVC是Spring框架的一个模块,提供了Model-View-Controller的开发模式

Spring Boot通过引入Starter依赖并处理自动配置类,实现了约定优于配置的特性,spring-boot-starter-web中集成了Spring MVC的相关依赖,运行时环境也内嵌了Web服务器,所以Spring Boot项目启动后会自动根据类路径下的依赖和当前项目的Bean配置,将Spring MVC的相关配置和组件都自动创建好快速的开发一个Spring MVC的Web项目。

Spring Boot和Spring有什么区别?

Spring Boot在Spring框架的基础上简化了开发、配置和部署,可以帮助我们快速搭建 Spring 项目的骨架,提高生产效率。

特性Spring FrameworkSpring Boot
目的提供企业级的开发工具和库简化 Spring 应用的开发、配置和部署
配置方式主要通过 XML 和注解等手动配置提供开箱即用的自动配置
启动和运行需要打成 war 包到 Tomcat 等容器下运行已嵌入Tomcat等容器,打包成 JAR 文件直接运行
依赖管理手动添加和管理依赖使用 spring-boot-starter 简化依赖管理

 

http://www.dtcms.com/a/474773.html

相关文章:

  • 图片类网站建设全国卫生机构建设管理系统网站
  • 网站建设实训意见建议企业宣传网页设计
  • 最新版谷歌浏览器视频播放控件ElephVideoPlayer控件介绍
  • SAP MM供应商主数据维护接口分享
  • 第二章:模块的编译与运行-11 Preliminaries
  • 在手机上建网站小程序免费制作平台 知乎
  • 浑南区建设局网站做外贸在什么网站做
  • CR 分解
  • JavaScript 零基础入门:从语法到实战全解析
  • 怎么做付费的小说网站个人网站名字
  • LeetCode讲解篇之2320. 统计放置房子的方式数
  • 基本型电子商务网站成都专业网站建设哪家好
  • 2017年做那个网站致富四川建设信息网
  • 硬盘制为启动盘的过程 操作系统的引导过程
  • 局域网怎么做网站wordpress10款音乐插件
  • 建设企业网站企业网上银行登录官网开放平台登录
  • 【LeetCode】67. 二进制求和
  • 使用Onnxruntime对onnx模型量化介绍
  • 新乡专业做网站多少钱青岛李沧区网站建设
  • 线段树算法详解与实现
  • 前端开发入门:什么是前端?它有什么用?前端开发入门
  • 不开网店怎么做淘宝网站网站seo的主要优化内容
  • 基于 WebSocket 协议的实时弹幕通信机制分析-抖音
  • 做网站推广需要具备哪些条件WordPress已安装主题
  • vector、list、deque的差异
  • 开设网站维护公司个人网页主页
  • devexpress做网站简单门户网站模板
  • 没有注册公司可以建网站吗企业网站开发公司-北京公司
  • 企业级文件共享服务全解析:NFS 和 Samba 搭建指南与 Windows 乱码解决
  • Docker中的无法正常使用os.system