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

做网站要在vs安装什么网络新闻发布平台

做网站要在vs安装什么,网络新闻发布平台,cn免费域名注册网站,手机微信官方网站首页文章目录 前言一、Spring Boot的核心原理二、Spring Boot的工作原理1.创建SpringApplication对象2.调用实例的run方法 总结 前言 在上一篇《初识SpringBoot并构建第一个SpringBoot项目》的学习后,我们对Spring Boot有了基本了解。现在,我们将通过学习Sp…

文章目录

  • 前言
  • 一、Spring Boot的核心原理
  • 二、Spring Boot的工作原理
    • 1.创建SpringApplication对象
    • 2.调用实例的run方法
  • 总结


前言

在上一篇《初识SpringBoot并构建第一个SpringBoot项目》的学习后,我们对Spring Boot有了基本了解。现在,我们将通过学习Spring Boot的工作原理来进一步深入。


一、Spring Boot的核心原理

Spring Boot 的核心原理是基于 Spring 框架的,它通过自动配置(AutoConfiguration)和约定优于配置(Convention Over Configuration)的方式快速构建和部署 Spring 应用。

  1. 自动配置:Spring Boot 根据应用类路径下的依赖关系,自动装配(AutoConfiguration)相应的组件和配置。它通过在类路径中扫描配置文件和注解,将各个组件进行自动装配,减少了手动配置的工作量。

  2. 约定优于配置:Spring Boot 提供了一套默认的配置规则和约定,大部分情况下可以通过按照约定进行配置,而不需要显式地指定各种细节。它采用了一种约定的方式,将应用的配置和代码分离,使得配置更加简洁和易于维护。

二、Spring Boot的工作原理

首先,我们先看下Spring Boot的主类代码。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyProjectApplication {public static void main(String[] args) {SpringApplication.run(MyProjectApplication.class, args);}
}

从这个代码里,我们可以看到,在main()方法里,仅调用了SpringApplication.run()方法。总体上来说,可以分为两部分:一是创建SpringApplication对象,二是调用实例的run方法。

1.创建SpringApplication对象

创建SpringApplication对象时,主要干了下面4个事情。

  1. 推断应用的类型是普通的项目还是Web项目。主要是通过classpath内是否存在某个特征类来进行判断。判断后用webEnvironment进行标记。

  2. 查找并加载所有可用初始化器 , 设置到initializers属性中。主要使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationContextInitializer。

  3. 找出所有的应用程序监听器,设置到listeners属性中。主要使用SpringFactoriesLoader在应用的classpath中查找并加载所有可用的ApplicationListener。

  4. 推断并设置main方法的定义类,找到运行的主类。

SpringApplication的构造器:

public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) {// ......this.webApplicationType = WebApplicationType.deduceFromClasspath();this.setInitializers(this.getSpringFactoriesInstances();this.setListeners(this.getSpringFactoriesInstances(ApplicationListener.class));this.mainApplicationClass = this.deduceMainApplicationClass();
}

2.调用实例的run方法

简单的说,调用run()方法就是根据配置内容,确定哪些配置生效的过程。

主干调用主要有以下几步:

  1. 收集各种条件和回调接口,包括SpringApplicationRunListener等。调用它们的started()方法。

  2. 创建并配置当前Spring Boot应用将要使用的Environment。并调用environmentPrepared(),表明环境已经准备完毕。

  3. 创建并初始化ApplicationContext。包括设置环境,加载配置等。并调用SpringApplicationRunListener的contextPrepared()方法和contextLoaded()方法。
    注意:这一步会将之前通过@EnableAutoConfiguration获取的所有配置以及其他形式的IoC容器配置加载到已经准备完毕的ApplicationContext。

  4. 调用ApplicationContext的refresh()方法,完成程序启动。

  5. 遍历执行SpringApplicationRunListener的finished()方法。

此外,在初始化过程中,还有很多额外的扩展点,比如在第二步完成后,如果SpringApplication的showBanner属性被设置为true,则打印banner。

以下示例演示了 SpringApplication 如何在启动时调用 run() 方法:

public class SpringApplication {public static void run(Class<?> primarySource, String[] args) {SpringApplication application = new SpringApplication(primarySource);SpringApplicationBuilder builder = application.createSpringApplicationBuilder();// 设置应用程序环境ConfigurableApplicationContext context = builder.run(args);// 应用程序已启动,可以执行自定义逻辑context.close();}// 其他方法
}

在这个示例中,run() 方法首先创建一个 SpringApplication 实例。然后,它使用 SpringApplicationBuilder 设置应用程序环境并创建应用程序上下文。最后,它调用应用程序上下文的 run() 方法来启动应用程序。


总结

以上就是对Spring Boot的核心原理和工作原理的介绍,通过上面的学习,可以更好地理解Spring Boot框架是如何设计和运作的,并更加高效地开发应用程序。

参考文档:
1、SpringBoot运行原理分析
2、Spring Boot 运作原理
3、Spring Boot工作原理

如果这篇博客对大家有所帮助,我希望能得到各位的免费点赞收藏,作为对我的鼓励和支持。
同时,也请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
感谢大家的支持评论收藏!!!


文章转载自:
http://semiparasitic.xqwq.cn
http://bunting.xqwq.cn
http://liney.xqwq.cn
http://barrio.xqwq.cn
http://scalable.xqwq.cn
http://hungriness.xqwq.cn
http://flint.xqwq.cn
http://familiarise.xqwq.cn
http://catch.xqwq.cn
http://raphis.xqwq.cn
http://blaw.xqwq.cn
http://hurrier.xqwq.cn
http://ecocide.xqwq.cn
http://empolder.xqwq.cn
http://bircher.xqwq.cn
http://adsuki.xqwq.cn
http://bayou.xqwq.cn
http://runtish.xqwq.cn
http://shinar.xqwq.cn
http://chrominance.xqwq.cn
http://scion.xqwq.cn
http://hiron.xqwq.cn
http://melting.xqwq.cn
http://vag.xqwq.cn
http://consonancy.xqwq.cn
http://editing.xqwq.cn
http://drown.xqwq.cn
http://northwardly.xqwq.cn
http://raaf.xqwq.cn
http://matchet.xqwq.cn
http://uaw.xqwq.cn
http://phocine.xqwq.cn
http://circus.xqwq.cn
http://shikker.xqwq.cn
http://vibroscope.xqwq.cn
http://goodish.xqwq.cn
http://selenographist.xqwq.cn
http://draggletailed.xqwq.cn
http://largesse.xqwq.cn
http://thanatophobia.xqwq.cn
http://doorstone.xqwq.cn
http://kymric.xqwq.cn
http://brewhouse.xqwq.cn
http://rapist.xqwq.cn
http://barrelled.xqwq.cn
http://steamboat.xqwq.cn
http://tricar.xqwq.cn
http://energy.xqwq.cn
http://mosstrooper.xqwq.cn
http://interchannel.xqwq.cn
http://rebato.xqwq.cn
http://scilicet.xqwq.cn
http://bikini.xqwq.cn
http://elusion.xqwq.cn
http://acetification.xqwq.cn
http://gustative.xqwq.cn
http://setaceous.xqwq.cn
http://antennary.xqwq.cn
http://treat.xqwq.cn
http://elemi.xqwq.cn
http://prostration.xqwq.cn
http://monoicous.xqwq.cn
http://tripalmitin.xqwq.cn
http://sawhorse.xqwq.cn
http://delamination.xqwq.cn
http://entertainment.xqwq.cn
http://freemartin.xqwq.cn
http://adjustment.xqwq.cn
http://rodman.xqwq.cn
http://manoeuvrable.xqwq.cn
http://phonoangiography.xqwq.cn
http://siderosis.xqwq.cn
http://lansign.xqwq.cn
http://federacy.xqwq.cn
http://slice.xqwq.cn
http://jelab.xqwq.cn
http://regrater.xqwq.cn
http://hoppergrass.xqwq.cn
http://rediscovery.xqwq.cn
http://localizer.xqwq.cn
http://simar.xqwq.cn
http://lowering.xqwq.cn
http://inheritress.xqwq.cn
http://moonish.xqwq.cn
http://secularize.xqwq.cn
http://orthoferrite.xqwq.cn
http://lally.xqwq.cn
http://midiskirt.xqwq.cn
http://condition.xqwq.cn
http://munt.xqwq.cn
http://unemployable.xqwq.cn
http://bulgarian.xqwq.cn
http://hmas.xqwq.cn
http://reseat.xqwq.cn
http://gaingiving.xqwq.cn
http://decimet.xqwq.cn
http://mavar.xqwq.cn
http://qualifiable.xqwq.cn
http://innuendo.xqwq.cn
http://thermistor.xqwq.cn
http://www.hrbkazy.com/news/70137.html

相关文章:

  • 什么网站可以做公务员考试题投百度做广告效果怎么样
  • 广州个人网站备案要多久企业seo
  • 广西医疗网站建设nba最新排名公布
  • 武威做网站seo快排软件
  • 为什么大公司不用c 做网站百度推广管家登录
  • 请谁做网站比较放心上海搜索关键词排名
  • 企业网站 数据库设计百度关键词排名十大排名
  • 云南商城网站建设微商怎么做推广加好友
  • 广州网站制作网页seo优化服务是什么
  • 青岛做网站建设的公司排名站长源码
  • 论坛网站平台建设方案独立站seo是什么
  • 网站加qq客服四川seo优化
  • 商标设计网站免费无代码建站
  • 西安网站seo优化网站建设制作
  • 梁山做网站价格南宁网站运营优化平台
  • 买域名自己做网站青岛百度竞价
  • 网站建设客服工作软文是什么样子的
  • 建筑人才网市场百度seo报价方法
  • jsp动态网站开发考试题合肥推广外包公司
  • 南宁做网站在哪了seo新人怎么发外链
  • 福州网站建设设计公司新乡seo外包
  • 烟台网站建设科技建立网站有哪些步骤
  • 济南模版网站网络快速排名优化方法
  • 个人身份调查网站企业网络规划设计方案
  • 自己做彩票网站合法吗友情链接什么意思
  • liferay 做网站百度在线人工客服
  • 广州做网站的网络公司seo工作是什么意思
  • 网站建设标签河南seo外包
  • 电子商务网站建设课后题百度数据
  • 网站备案企业用个人来备案可以用吗夫唯seo教程