Spring Boot 学习(5)——开发流程:快速入门

       花了几天的时间,整出个 “hello spring boot”,并且把它从 2 搞到了 3。

       纸上得来终觉浅!自己实践出真知!现在再回头来囫囵一遍,加深下印象。回想下从前自觉某一编程语言大都如此,先找到简单示例照着画一遍,然后再找书过前面几章,剩下就是尝试上手,书本就成了工具书,需要哪块或是不知道哪块,对着翻目录解决之。讲真,前些年买的书从来没有一本从头看到底过。也就养成了急用先学、知其然不知其所以然的坏习惯。

       其实,之于当前社会,不都是如此么?能够深耕学问、专注研究的,都成了大神、大家,普罗大众只是沦为工具人而已。这也是社会选择的必然,任何一行一业,能站在顶端的只有少数一些人。所以,我也无须妄自菲薄,做好自己的事,做自己想做的事,此生足亦!何须与他人比长短呢……


       开发流程

       idea【工具可以任选,为方便学习理解此次选用了 intellij idea】,通过 mavne 或 spring initializr 创建工程,相较 spring initializr 创建起来更为便捷(使用 spring initializr 创建工程时可以选择开发时所依赖的环境,通常不用再配置 pom 文件),本例使用 maven 创建工程后手工配置。

       1、创建项目      

       在pom文件中配置如下:

       pom 文件详解参见:maven:pom文件详解_pom directory-CSDN博客

    <!--  所有springboot 项目都继承自 spring-boot-starter-parent --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.4</version></parent>

       “<version>3.2.4</version>” 版本号根据项目实际进行配置。

       2、导入场景

       为 web 项目配置启动器

       pom 文件中配置如下:

    <dependencies><!--  web 开发的场景启动器  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

       3、主程序

       新建一个类(在创建项目时没有生成示例代码)com.seraph.boot.MainApplication,编辑代码如下:

package com.seraph;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;// 声明这是一个 SpringBoot 应用
@SpringBootApplication
public class MainApplication {// main 方法,主程序入口public static void main(String[] args) {// springboot 应用启动代码SpringApplication.run(MainApplication.class, args);// 控制台输出System.out.println("Hello SrpingBoot3!");}
}

       先测试一下,结果如下:

控制台输出

 浏览器输出(因为没写任何业务代码响应请求)

       4、业务代码

        boot 上右击新建一个类 controller.HelloController(controller 默认包名)

       代码编写如下:

@RestController     // @Controller + ResponseBody
public class HelloController {// 响应 /hello 路径请求@RequestMapping("/hello")    // GetMapping + PostMappingpublic String hello() {return "hello, spring boot 3.0";}// 响应 / 默认路径请求@RequestMapping("/")public String index() {return "this is index page";}
}

       RestControl = Controll + ResponseBody

       RequestMapping = GetMapping + PostMapping

       5、测试

       输出结果如下:

默认路径

/hello 路径

       6、打包

	<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

       配置 SpringBoot 应用打包插件。

       打包。

       默认 jar 包生成在工程目录下 target 目录中。

       7、发布

       以 win 环境为例(假设已有 java 运行环境,且版本满足要求,已在系统环境变量中配置了路径),将生成的 jar 包放到某一目录中(路径中不得有空格、中文字符等)。打开命令提示行,进入 jar 包所在目录,输入:

java -jar boot3-01-demo-1.0-SNAPSHOT.jar

       格式:java -jar 包名

       如当前位置在 jar 包目录中,可只输入包名。否则应包名应包含全路径,如:

java -jar D:\wj\srping-boot-3\boot3-01-demo\target>java -jar boot3-01-demo-1.0-SNAPSHOT.jar

        运行结果如下:

       请求对应路径(“/” 和 “/hello”)浏览器返回结果如前图(5、测试)所示,即表示运行成功。

       至此,一个简单工程的开发(假装包含了发布)流程全部完成。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分析染色体级别的基因组装配揭示了六倍体栽培菊花的起源和进化-文献精读-7

Analyses of a chromosome-scale genome assembly reveal the origin and evolution of cultivated chrysanthemum 分析染色体级别的基因组装配揭示了栽培菊花的起源和进化 六倍体植物基因组的文献&#xff0c;各位同仁还有什么有特色的基因组评论区留言~ 摘要 菊花&#xf…

【MIT6.S081】Lab3: page tables(详细解答版)

实验内容网址&#xff1a;https://xv6.dgs.zone/labs/requirements/lab3.html 本实验的代码分支&#xff1a;https://gitee.com/dragonlalala/xv6-labs-2020/tree/pgtbl2/ Print a page table 关键点&#xff1a;递归、三级页表 思路&#xff1a; 用上图来解释三级页表的原理最…

HarmonyOS实战开发-横竖屏切换

介绍 本实例展示如何使用媒体查询&#xff0c;通过ohos.mediaquery 接口完成在不同设备上显示不同的界面效果。 效果预览 使用说明 1.在竖屏设备上&#xff0c;首页展示新闻列表&#xff0c;点击新闻进入详情界面。 2.在横屏设备上&#xff0c;首页左侧展示新闻列表&#x…

【计算机网络】ip子网划分--超详细例题解析

Hello!这一篇主要是计算机网络中的ip地址子网划分的例题&#xff0c;这里例举了四个题型。保证即便从0也可以掌握&#xff01;(前面是一些预备知识&#xff0c;不熟悉的小伙伴一定要看下学习下哦&#xff5e;) 这也是博主的学习过程&#xff0c;做题中仅仅我的理解哦。若文章中…

使用Postman发送跨域请求实验

使用Postman发送跨域请求 1 跨域是什么&#xff1f;2 何为同源呢?3 跨域请求是如何被检测到的&#xff1f;4 Postman跨域请求测试4.1 后端准备4.2 测试用例4.2.1 后端未配置跨域请求(1) 前端不跨域&#xff08;2&#xff09;前端跨域 4.2.2 后端配置跨域信息&#xff08;1&…

超级详细的JDBC和数据库连接池讲解

文章目录 JDBC简介概念本质好处 JDBC快速入门JDBC中API详解DriverManager驱动管理类作用注册驱动获取连接 Connection数据库连接对象作用获取执行SQL的对象事务管理 Statement作用执行SQL语句 ResultSet原理使用步骤 PreparedStatementSQL注入获取对象操作步骤 原理好处 JDBC工…

napi系列学习进阶篇——NAPI 导出类对象

简介 js调用napi的数据&#xff0c;对于简单的数据类型&#xff0c;只需要napi返回对应类型的napi_value数据即可 (详情参照napi数据类型类型与同步调用)。但是对于一些复杂的数据类型(如我们常用C的类对象)&#xff0c;是不能直接返回一个napi_value数据的。这时我们需要对这…

力扣2923、2924.找到冠军I、II---(简单题、中等题、Java、拓扑排序)

目录 一、找到冠军I 思路描述&#xff1a; 代码&#xff1a; 二、找到冠军II 思路描述&#xff1a; 代码&#xff1a; 一、找到冠军I 一场比赛中共有 n 支队伍&#xff0c;按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足…

C++常考面试题(第二篇)

【题目 16】拷贝构造函数的格式和作用&#xff0c;自动调用拷贝构造函数的几种情形&#xff1f; 格式&#xff1a;没有返回值 函数名和类名相同 参数&#xff1a;const person& 类型引用 作用&#xff1a;逐个给成员变量进行赋值三种情形下会调用拷贝构造函数 (1) 当用一…

c++之stack_queue与反向迭代器的实现

目录 1. 简单介绍stack与queue的使用 1.1 stack的介绍与使用 stack的介绍 stack的使用 相关题目 1.2 queue的介绍与使用 queue的介绍 queue的使用 相关题目 2.stack与queue的模拟实现 容器适配器 2.1 stack的模拟实现 2.2 queue的模拟实现 2.3 priority_queu…

嵌入式STM32F407CET6移植OpenHarmony系统方法

第一:【实验目的】 1、STM32F407CET6开发版移植鸿蒙系统的方式 第二:【实验原理】 涉及到原理图添加原理图--普通STM32F407原理图第三:【实验步骤】 一、下载LiteOs源码,复制到到虚拟机中并解压 https://gitee.com/LiteOS/LiteOS

WebLogic-XMLDecoder(CVE-2017-10271)反序列化漏洞分析及复现

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…