首页>>后端>>SpringBoot->如何启动springboot项目?

如何启动springboot项目?

时间:2023-12-05 本站 点击:0

SpringBoot与Tomcat的启动(内嵌Tomcat)

环境:

SpringBoot 2.0.1

使用SpringBoot开发时,可以通过Maven将工程打成jar包,jar包内嵌Tomcat,这种方式SpringBoot工程将在启动的时候陪察哪,带动Tomcat的启动,下面分析SpringBoot如何带动Tomcat启动

一个简单的SpringBoot工程启动类

跟进 SpringApplication#run 方法

如果对Spring的启动流程有了解的话,应该知道Spring启动过程中,最重要的就芦码是 AbstractApplicationContext#refresh() 过程,在这个方法中Spring执行了BeanFactory的初始化,Bean的实例化、属性填充、初始化操作等等重要的操作,该方法主要逻辑如下:

仔细观察这个方法,可以发现其中调用了几个空方法,这里应用了 模板模式 ,在 refresh 方法中定义了主干执行流程,并留有空的方法给子类做个性化定制

现在开始,通过debug来看看SpringBoot如何启动Tomcat容器

前面构造 SpringApplicaton 时,没中已经推断出当前Web工程类型,当开始执行 #run 方法时,会根据不同类型的Web项目创建不同类型的ApplicationContext

创建好 ApplicationContext 之后,看到 refreshContext(context) ,联系本文开头Spring启动的 AbstractApplicationContext#refresh 方法,该方法其实就是触发了后者的执行

执行 refreshContext 方法,来到前面根据 webApplicationType 创建的容器类 ServletWebServerApplicationContext

进入到 TomcatServletWebServerFactory ,可以看到如下启动内置Tomcat的过程

至此,Tomcat继承Spring的 AbstractApplicationContext 类,覆盖它的模板方法 onRefresh ,SpringBoot在自身启动的过程中,启动了内置的Tomcat服务器

从零开始新建Springboot项目之项目启动(一)

一般都是使用搭建好的框架进行业务逻辑开发,一直不清楚整个项目是如何从零到一构建出来的。所以开一个帖子,记录一下一个springboot项目是如何构建的。

使用的工具为idea

选择maven或者spring initializr都可以。spring initializr会在pom中自动添加一些springboot用罩段到的jar包,此处选择maven。起好名字后,一路next即可

从实际开发角度,构建Module不是必选项。但学习嘛,还是要知道是怎么创建的

右键项目名称 - New - Module

依然选择maven,起名字即可。一般命名为:XXXX-Controller,XXXX-Service等等

建好后,pom中会多出以下内容

(放弃多模块配置)

可在此处搜索 mvnrepository

首先添加parent,作为父级依赖。位置在 project/project 的下一级,与 groupIdorg.example/groupId 同级,

在 parent/parent 同级新建 dependency/dependency 标签,引入web项目需要的依赖

如果是多模块的项目,需要在每一个模块的pom文件中,添加其依赖的其他模块。例如controller依赖service,则需要在controller的pom文件中添加以下依赖信息。如果不是多模块项目,可以忽略

在java路径下新建顶级路径 com.tardis ,在此路径下新建文件 CustomerApplication (名字随意)。新建 controller , service 的 package 。在 CustomerApplication 添加如下方法

文件的层级关系如图

在 resource 目录下,新建 application.yml , application.dev.yml , application.prod.yml 文件,作为总体,开枯蔽发环境,生产环境的配置文件。配置文件格式为 properties , yml 均可,此处使用 yml ,看起来比较简洁清晰物败誉

层级关系如图

为了更好地演示效果,可以先写一个简单的Controller进行测试,在controller文件夹中新建class,名字随意。文件层级如图。放一个最简单的接口。

使用postman调用,返回结果如下

运行SpringBoot工程的四种方法

运行springboot工程四种方法李斗:

springboot工程的pom.xml文件中默认有:

所以可以用下面的方法图像化运行

点击左下角的小窗口,然后右侧会出现 Mavne Projects

或者用命令行运行:

首先进入springboot的工程目录,然后运行 mvn spring-boot:run 命令

springboot工程的pom.xml文件中默认的打包形式是jar包

打包方法如下:

运行jar包:

maven默认打包在target目录,进入springboot工程的target目录,然后运行 java -jar xxx.jar 命乎扰皮令来运行程序。

修改springboot工程的pom.xml文件中的打包形式岁差为war包

之后的打包方法与运行方法与 打包成jar包运行 类似,唯一不同的是运行的命令是 java -jar xxx.war 这样的形式。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/12765.html