Spring Boot 学习(2)——HelloWorld

       HelloWorld!全宇宙码农的第一个(行)程序(代码)。

       1、创建项目

       打开idea,新建一个maven项目。

       1)选择项目sdk(本例是1.8)
       2)输入GroupId(com.域名,如:com.seraph)
       3)输入AftifactId(本例:spring-boot-01-helloworld)
       4)输入Version(默认的可以不修改)
       5)输入项目名称(本例:spring-boot-01-helloworld)
       6)选择项目储存位置

       项目创建完成,进入idea界面,右下角有提示:maven项目需要导入。点击“Enable Auto-Import”(允许自动导入)。

        打开左侧项目管理器

       2、导入依赖      

       默认打开的文件是pom.xml,添加依赖,如下:

    <!--添加依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!--打包插件,将应用打包成一个可执行的jar包,目标服务器上不需要安装tomcat环境--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

       3、编写主程序

       编写主程序用以启动Spring boot 应用

       项目管理器的java文件夹上右击,新建一个类

        Name:“com.seraph.HelloWorldMainApplication”

       “com.seraph”是包名,会自动新建一个名称为“com.seraph”目录,并在这个目录中创建一个名为“HelloWorldMainApplication”的文件。

       打开刚才新建的文件,默认如下:

package com.seraph;public class HelloWorldMainApplication {
}

        编辑代码如下,并保存:

package com.seraph;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;// 标注主程序类
@SpringBootApplication
public class HelloWorldMainApplication {// main 方法是程序的入口点。它定义了程序启动时的行为。public static void main(String[] args){// 启动Spring应用SpringApplication.run(HelloWorldMainApplication.class,args);}
}

        4、编写业务逻辑

       如:Controller、Service等

        在com.seraph包上右击,新建一个类文件,如下:

       Name:“controller.HelloController”

       “controller”是包名,会在“com.seraph”下自动新建一个名称为“com.seraph”目录,并在这个目录中创建一个名为“HelloController”的文件。

       编辑代码如下,并保存:

package com.seraph.controller;import org.springframework.boot.SpringBootVersion;
import org.springframework.core.SpringVersion;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;// 这个类会被 Spring 框架识别为一个控制器,并且 Spring 会自动处理与这个类相关的 HTTP 请求。
// @Controller 注解通常与 @RequestMapping 注解一起使用,用于映射 HTTP 请求到特定的控制器方法。
@Controller
public class HelloController {// 将返回结果输出给浏览器// @ResponseBody 注解是一个用于标记方法返回值的注解。当一个方法被标记为 @ResponseBody 时,// Spring 框架会将其返回值转换为 HTTP 响应体(response body),并将其发送回客户端。@ResponseBody// 接收浏览器的 hello请求// @RequestMapping 注解是一个用于映射 HTTP 请求到特定处理方法的注解。// 这个注解通常用于控制器类中的方法上,以指定哪些 HTTP 请求应该被该方法处理。//@RequestMapping 注解可以接受多种参数,包括请求的路径、HTTP 方法(如 GET、POST、PUT、DELETE 等)、// 请求的参数、请求的头部信息等。通过这些参数,您可以定义请求映射的详细规则。@RequestMapping("/hello")public String hello(){return "Hello world!"+"<br>"+ SpringBootVersion.getVersion()+"<br>"+ SpringVersion.getVersion();}
}

        5、测试运行

       主程序文件上如图操作,或使用快捷键 ctrl+shift+F10

       或右上角如图操作

       控制台输出结果如下:

       最后一行提示如所示: Started HelloWorldMainApplication in 2.302 seconds (JVM running for 4.415) 即表示成功。

       打开localhost:8080/hello,返回结果如下:

       这是因为我们在处理业务逻辑时返回的内容为:

"Hello world!"+"<br>"+ SpringBootVersion.getVersion()+"<br>"+ SpringVersion.getVersion();

        所以在浏览器中显示内容为:Hello world + springboot版本号 + spring 版本号

       6、打包发布

       将刚才的内容打成一个可执行的jar包,即服务器上不需要tomcat环境也能正常使用。

       操作如下:(因为前面在pom中已经添加了构建所需的依赖,直接进行操作即可)

       1)idea窗口左下角点击

       2)窗口右边显示侧边工作栏(前后对比如图)

       3)打包

       项目名称 》lifecycle 》package,双击或右击选择“Run maven Build”

       看到如下提示(反色部分)即表示打包成功

         4)测试运行

       如图操作,复制路径

            右上角或左下角,停止运行

       打开cmd,输入java -jar D:\wj\spring-boot-01-helloworld\target\spring-boot-01-helloworld-1.0-SNAPSHOT.jar,回车

       如图提示即表示成功,访问 http://localhost:8080/hello ,浏览器输出结果同前。

       Hello SpringBoot!

      

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

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

相关文章

阿里云服务器租用价格表,100元可以买哪些配置?

2024年阿里云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

CEF的了解

(14 封私信 / 80 条消息) CEF和Electron的区别是什么&#xff1f; - 知乎 (zhihu.com) Electron面向的开发者&#xff1a;会用JavaScript,HTML,CSS&#xff0c;不会C CEF面向的开发者&#xff1a;会用JavaScript,HTML,CSS&#xff0c;会C (14 封私信 / 80 条消息) liulun - …

认识什么是Git

目录 1. 认识Git 1.1. 问题引入 1.2. 概念 1.3. 作用 1.4. 如何学 1.5. Git 安装 1.6. Git配置用户信息 2. Git仓库 2.1. Git 仓库&#xff08;repository&#xff09; 2.2. 创建 2.3. 需求 3. Git的三个区域 3.1. Git 使用时的三个区域 3.2. 工作区的内容&#…

怎么快速上手虚拟化(容器)技术——以 Docker 为例

Docker 整体介绍 Docker 是一种使用 Go 语言开发的容器工具。所谓容器&#xff0c;实际上是一种虚拟化技术&#xff0c;用于为应用提供虚拟化的运行环境&#xff0c;相较于虚拟机具有轻量级、低延迟的特性。 下面是对上述介绍的说明&#xff1a; 应用程序运行需要一定的依赖…

HTML - 你如何使H5页面禁止手动缩放

难度级别:初级及以上 提问概率:40% 我们知道,这道题其实是在考察meta标签的viewport属性,正常情况下设置viewport的代码为 <head><meta name="viewport" content="width=device-width,initial-scale=1.0" …

【MATLAB】PSO_BP神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 PSO_BP神经网络时序预测算法是一种结合了粒子群优化(PSO)算法和反向传播(BP)神经网络的时序预测方法。它利用了PSO算法的全局搜索能力和BP神经网络的优化能力&#xff0c;能够更准确地预测时序数据。 具体步…

讲讲你对数据结构-线性表了解多少?

线性表 - 数组和矩阵 当谈到线性表时&#xff0c;数组和矩阵是两种常见的数据结构。 数组&#xff08;Array&#xff09;&#xff1a; 数组是有序的元素集合&#xff0c;可以通过索引来访问和操作其中的元素。它是最简单、最基本的数据结构之一。数组的特点包括&#xff1a; …

C++ | Leetcode C++题解之第7题整数反转

题目&#xff1a; 题解&#xff1a; class Solution { public:int reverse(int x) {int rev 0;while (x ! 0) {if (rev < INT_MIN / 10 || rev > INT_MAX / 10) {return 0;}int digit x % 10;x / 10;rev rev * 10 digit;}return rev;} };

wordpress课程项目主题电脑版+手机版自适应

这款主题适合做资源、课程、素材等&#xff0c;演示站&#xff1a;点击查看

八数码问题——A*算法的应用(A-Star)

文章目录 1 问题描述2 启发式搜索3 A*算法3.1 参考网址3.2 是什么3.3 为什么A*算法适用于八数码问题3.4 A* 算法的基本框架 4 A* 算法如何解决八数码问题4.1 八数码状态的存储4.2 启发式函数4.3 构造目标状态元素位置的字典4.4 在二维列表中查找目标元素4.5 A* 算法主体4.6 路径…

RUST语言函数的定义与调用

1.定义函数 定义一个RUST函数使用fn关键字 函数定义语法: fn 函数名(参数名:参数类型,参数名:参数类型) -> 返回类型 { //函数体 } 定义一个没有参数,没有返回类型的参数 fn add() {println!("调用了add函数!"); } 定义有一个参数的函数 fn add(a:u32)…

C++ //练习 11.12 编写程序,读入string和int的序列,将每个string和int存入一个pair中,pair保存在一个vector中。

C Primer&#xff08;第5版&#xff09; 练习 11.12 练习 11.12 编写程序&#xff0c;读入string和int的序列&#xff0c;将每个string和int存入一个pair中&#xff0c;pair保存在一个vector中。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#x…

前端(动态雪景背景+动态蝴蝶)

1.CSS样式 <style>html, body, a, div, span, table, tr, td, strong, ul, ol, li, h1, h2, h3, p, input {font-weight: inherit;font-size: inherit;list-style: none;border-spacing: 0;border: 0;border-collapse: collapse;text-decoration: none;padding: 0;margi…

网站如何运用百度文心一言API进行AI内容创作?

网站如何运用百度文心一言API进行AI内容创作&#xff1f; 当我们做好一个网站的时候会因为创作内容而发愁&#xff0c;随着chatgpt的出现&#xff0c;内容创作已经不再是什么困难的事情&#xff0c;但是由于gpt是国外的&#xff0c;在国内使用有诸多不便&#xff0c;因此我们今…

06-编辑器

gedit编辑器 gedit是Ubuntu系统自带的编辑器&#xff0c;可以用来轻度编辑和记录一些内容。 在终端中我们通过以下命令打开&#xff1a; gedit 要打开或者新建的文件名虽然Ubuntu的图形界面也能通过gedit打开文件&#xff0c;但是用终端打开gedit可以动用更高的权限&#xff…

Apache Pulsar源码解析之Lookup机制

引言 在学习Pulsar一段时间后&#xff0c;相信大家也或多或少听说Lookup这个词&#xff0c;今天就一起来深入剖析下Pulsar是怎么设计的它吧 Lookup是什么 在客户端跟服务端建立TCP连接前有些信息需要提前获取&#xff0c;这个获取方式就是Lookup机制。所获取的信息有以下几种…

Flutter中setState函数的使用注意事项

文章目录 Flutter中setState函数的使用注意事项只能在具有State对象的类中使用不要在build方法中使用将状态更新逻辑放在setState方法内部避免频繁调用使用回调函数更新状态 Flutter中setState函数的使用注意事项 setState()函数是Flutter中非常重要的一个函数&#xff0c;它用…

C#使用Selenium驱动Chrome浏览器

1.Selenium库依赖安装 Selenium WebDriver是Selenium项目的一部分&#xff0c;用于模拟用户在Web应用程序中的交互操作。它支持多种浏览器&#xff0c;如Chrome、Firefox、IE等&#xff0c;且与各种编程语言&#xff08;如Java、Python、C#等&#xff09;兼容&#xff0c;具有…

2012年认证杯SPSSPRO杯数学建模B题(第二阶段)节能减排全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 节能减排、抑制全球气候变暖 B题 白屋顶计划 原题再现&#xff1a; 第二阶段问题   虽然环境学家对地球环境温度的改变有许多种不同观点&#xff0c;但大多数科学家可以达成一个基本的共识&#xff1a;近年来人类的活动&#xff0c;尤指二氧…

云存储中常用的相同子策略的高效、安全的基于属性的访问控制的论文阅读

参考文献为2022年发表的Efficient and Secure Attribute-Based Access Control With Identical Sub-Policies Frequently Used in Cloud Storage 动机 ABE是实现在云存储中一种很好的访问控制手段&#xff0c;但是其本身的计算开销导致在实际场景中应用收到限制。本论文研究了…