这样我们可以通过 -jar 的方式直接启动并执行指定的 start-class 类的 main 函数:
但态姿族当我们需要指定并执行其他类的 main 函数时,使用 -cp 参数却行不通:
因为 Spring Boot 打包时做了处理,启动时的主类也不再是用户指定的,而是由 Spring Boot 启动后代为调用执行。
此时我们就需要一些 trick 来解决这个问题。
首先我们要改变 spring-boot-maven-plugin 的参数:
增加了 <layout>ZIP</layout> 一行。这将使 Spring Boot 使用 PropertiesLauncher 。
然后
可以看到,事实册档上是以帆弊 org.springframework.boot.loader.PropertiesLauncher 作为主类启动的,设置了 loader.main 的值,由 Spring Boot 调用执行。
参考文章:
Spring Boot应用可以打成jar包,其中内嵌tomcat,因此可以直接启动使用。但是在Spring Boot应用启动之前,首先需要进行打包银散虚,本文讲述的是Maven工程的打包,打包需要的前提条件(pom.xml文件中掘败的内容)是:锋燃
打包命令为:
或在eclipse中运行 run ->Maven build... ,在Goals中填写 clean package -Dmaven.test.skip=true ,运行,打包完成。
Spring Boot的启动命令为:
Spring Boot应用关闭的前提条件是 POM.xml 添加以下内容:
application.properties 中添加:
关闭命令为:
如果要配置路径,需要在 application.properties 中添加 management.context-path=/manage ,则关闭命令变为 curl -X POST host:port/manage/shutdown 。
如果在关闭时需要安全验证,则在 pom.xml 文件中添加:
application.properties 中添加:
关闭命令为:
一般都是使用搭建好的框架进行业务逻辑开发,一直不清楚整个项目是如何从零到一构建出来的。所以开一个帖子,记录一下一个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>的下一级,与 <groupId>org.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调用,返回结果如下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)