iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >为什么选择Spring Boot项目的内嵌容器
  • 470
分享到

为什么选择Spring Boot项目的内嵌容器

springboot 2023-05-30 23:05:23 470人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关为什么选择Spring Boot项目的内嵌容器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新S

这篇文章将为大家详细讲解有关为什么选择Spring Boot项目的内嵌容器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot继承了Spring的优点,并新增了一些新功能和特性:

(1)SpringBoot是伴随着Spring4.0诞生的,一经推出,引起了巨大的反向;

(2)从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;

(3)SpringBoot帮助开发者快速启动一个WEB容器;

(4)SpringBoot继承了原有Spring框架的优秀基因;

(5)SpringBoot简化了使用Spring的过程;

(6)Spring Boot为我们带来了脚本语言开发的效率,但是Spring Boot并没有让我们意外的新技术,都是Java EE开发者常见的额技术。

Spring Boot工程的默认web容器是Tomcat,但是开发人员可以根据需要修改,例如使用Jetty或者Undertow,Spring Boot提供了对应的starters。

How Do

  • 在pom文件中排除tomcat的starter

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions>  <exclusion>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-tomcat</artifactId>  </exclusion> </exclusions></dependency>
  • 增加Jetty依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId></dependency>
  • 通过mvn spring-boot:run命令启动,可以看到Jetty已经启动。

为什么选择Spring Boot项目的内嵌容器

Jetty容器启动

PS:如果您使用的gradle,则可以参考官方文档的做法——Use Jetty instead of Tomcat

分析

支持上述切换的原因是Spring Boot的自动配置。我首先在spring-boot-starter-web依赖中排除Tomcat依赖,免得它跟Jetty形成依赖冲突。Spring Boot根据在classpath下扫描到的容器类的类型决定使用哪个web容器。

idea中查看EmbeddedServletContainerAutoConfiguration类的内部结构,可以看到@ConditionalOnClass({Servlet.class, Server.class, Loader.class, WebAppContext.class})这样的条件匹配注解,如果在Jetty的jar包中可以找到上述三个类的实例,则决定使用jetty容器。

@Configuration@ConditionalOnClass({Servlet.class, Server.class, Loader.class, WebAppContext.class})@ConditionalOnMissingBean( value = {EmbeddedServletContainerFactory.class}, search = SearchStrategy.CURRENT)public static class EmbeddedJetty { public EmbeddedJetty() { } @Bean public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory() {  // 返回容器工厂实例,用于构造容器实例  return new JettyEmbeddedServletContainerFactory(); }}

同样得,可以看到对Tomcat也存在类似的判断和使用代码:

@Configuration@ConditionalOnClass({Servlet.class, Tomcat.class})@ConditionalOnMissingBean( value = {EmbeddedServletContainerFactory.class}, search = SearchStrategy.CURRENT)public static class EmbeddedTomcat { public EmbeddedTomcat() { } @Bean public TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory() {  return new TomcatEmbeddedServletContainerFactory(); }}

关于“为什么选择Spring Boot项目的内嵌容器”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 为什么选择Spring Boot项目的内嵌容器

本文链接: https://www.lsjlt.com/news/221811.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 为什么选择Spring Boot项目的内嵌容器
    这篇文章将为大家详细讲解有关为什么选择Spring Boot项目的内嵌容器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新S...
    99+
    2023-05-30
    springboot
  • vant中的picker选择器自定义选项内容
    目录vant picker选择器自定义选项内容vant 使用picker二级级联其实逻辑比较简单(话不多说上代码)vant picker选择器自定义选项内容 项目中遇到需要在选择器中...
    99+
    2022-12-08
    vant picker选择器 picker自定义选项内容 vant的picker选择器
  • Netweaver的端口号和Spring boot内嵌的Tomcat端口是什么
    这篇文章主要为大家展示了“Netweaver的端口号和Spring boot内嵌的Tomcat端口是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Netweaver的端口号和Spring b...
    99+
    2023-06-04
  • 企业SEO项目选择网站内容结构元素需要注意什么
    小编给大家分享一下企业SEO项目选择网站内容结构元素需要注意什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  第一、检索者的意图是什么他们想达到什么目的  主...
    99+
    2023-06-10
  • 为什么 Guice 是 Java 容器中最好的选择?
    Guice 是一个轻量级的依赖注入框架,它是由 Google 开发的,旨在简化应用程序的开发和维护。Guice 可以让开发人员更加专注于业务逻辑,而不用担心对象的创建和依赖关系。 在 Java 容器中,有很多其他的依赖注入框架,例如 Spr...
    99+
    2023-07-08
    容器 npm 框架
  • ASP、存储、Spring和Unix:如何为您的项目选择最佳技术?
    在开发一个项目时,选择正确的技术是至关重要的。在今天的技术领域,有数百种不同的技术和框架可供选择,而且每一种都有自己的优缺点。因此,选择最适合您的项目的技术需要进行深入的研究和比较。本文将讨论如何为您的项目选择最佳技术,主要涉及ASP、存储...
    99+
    2023-10-18
    存储 spring unix
  • Python 中的对象容器:为什么要选择 Apache?
    在 Python 中,对象容器是非常重要的概念。它们允许我们组织和存储数据,同时提供了一种方便的方式来操作这些数据。而 Apache 提供了一些非常强大的对象容器,让我们能够更加高效地处理数据。本文将介绍一些 Apache 的对象容器,并...
    99+
    2023-10-26
    对象 容器 apache
  • 把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 既然需要打包成war包项目,首先需要在pom.xml文件中修改打...
    99+
    2023-05-30
    spring boot tomcat
  • ASP 容器和 Laravel:如何选择最适合你的项目?
    ASP容器和Laravel都是流行的Web应用程序框架,它们都有各自的优点和适用场景。在选择使用哪一个框架之前,需要考虑项目的需求和技术栈。本文将介绍ASP容器和Laravel框架的基本概念,以及如何选择最适合你的项目。 ASP容器 ASP...
    99+
    2023-09-30
    容器 关键字 laravel
  • 为什么ASP容器接口IDE是最佳选择?
    在开发ASP.NET应用程序时,选择正确的集成开发环境(IDE)是至关重要的。而ASP容器接口IDE正是一款被广泛认可的最佳选择。在本文中,我们将探讨ASP容器接口IDE的特点,以及它为什么是ASP.NET开发的最佳选择。 一、什么是AS...
    99+
    2023-08-02
    容器 接口 ide
  • 为什么Git是PHP项目管理的首选?
    Git是一个流行的分布式版本控制系统,被广泛应用于开源软件和商业软件开发中。对于PHP项目,Git是首选的版本控制系统,这是因为Git提供了许多优点,使其成为PHP项目管理的首选。 分布式版本控制系统 Git是一个分布式版本控制系统,这...
    99+
    2023-06-30
    http 关键字 git
  • 如何选择适合你项目的go存储框架和容器?
    在现代软件开发中,存储和容器是必不可少的组件。如果你正在使用 Go 语言开发项目,那么你需要选择一个适合你的存储框架和容器来满足你的需求。本文将介绍如何选择适合你项目的 Go 存储框架和容器。 了解你的需求 在选择存储框架和容器之前,你...
    99+
    2023-10-07
    存储 框架 容器
  • 国内企业用户为什么选择香港服务器
    国内企业用户选择香港服务器的原因:1、香港服务器机房一般都是采用高品质服务器硬件,有效保障服务器性能稳定,并且价格要比内地服务器便宜,性价比更高;2、选择香港服务器建站无需进行备案,内容限制少,能够自由发挥搭建自己的网站程序;3、香港服务器...
    99+
    2024-04-02
  • 为什么要选择香港的服务器
    要选择香港的服务器的原因:1、香港机房几乎不受自然灾害影响,能够保证服务器稳定性;2、香港服务器拥有独立带宽并直连大陆主干网络,因此传输速度更快;3、相对于大陆服务器而言,选择香港服务器性价比更高;4、使用香港服务器不需要进行繁琐的备案流程...
    99+
    2024-04-02
  • 内容采集选择香港多IP服务器有什么优势
    在进行内容采集时,选择香港多IP服务器有以下优势: 提高访问速度:香港多IP服务器可以提供更快的访问速度,帮助用户快速获取所需信...
    99+
    2024-04-12
    香港服务器 服务器
  • 容器化Python应用程序:为什么Linux和Windows是最佳选择?
    Python是一种广泛使用的编程语言,它的灵活性和易用性使得它成为了许多开发者的首选。随着云计算和容器化技术的普及,Python应用程序的部署和管理也变得更加容易和高效。在本文中,我们将探讨为什么Linux和Windows是容器化Pyth...
    99+
    2023-08-23
    linux windows 容器
  • 为什么很多国内企业选择租用香港服务器
    很多国内企业选择租用香港服务器的原因:1、香港云服务器不需要备案,即开即用;2、香港云服务器访问速度快;3、香港云服务器租用的价格相对比较低;4、香港云服务器稳定性好;5、香港云服务器国际带宽不分线路,在哪都可以访问;6、对国内用户而言,使...
    99+
    2024-04-02
  • 为什么没有内置的set容器类型?
    ...
    99+
    2024-04-02
  • 为什么Python是机器学习的理想选择
    这篇文章将为大家详细讲解有关为什么Python是机器学习的理想选择,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python 人工智能项目在各种形式和规模的公司中变得非常流行。以下是 Pyt...
    99+
    2023-06-15
  • 为什么Python shell和Spring容器是完美的组合?
    Python shell和Spring容器是两个非常流行的工具,它们分别用于编写Python代码和Java代码。但是,你可能会想知道它们之间有什么联系,为什么它们是完美的组合呢?在本文中,我们将探讨这个问题,并演示一些代码示例。 首先,让我...
    99+
    2023-10-15
    shell spring 容器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作