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!

      

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FME学习之旅---day20

我们付出一些成本&#xff0c;时间的或者其他&#xff0c;最终总能收获一些什么。 教程&#xff1a;AutoCAD 入门 FME使用四种主要格式来读取和写入AutoCAD图形文件;初级教程重点介绍AutoDesk AutoCAD DWG\DXF(ACAD) AutoCAD中常用的术语 实体&#xff1a;AutoCAD 图元表示 D…

超强命令行解析工具Apache Commons CLI

概述 为什么要写这篇文章呢?因为在读flink cdc3.0源码的时候发现了这个工具包,感觉很牛,之前写过shell命令,shell是用getopts来处理命令行参数的,但是其实写起来很麻烦,长时间不写已经完全忘记了,现在才发现原来java也有这种工具类,所以先学习一下这个的使用,也许之后自己在写…

封装一个vue3的公共组件

在Vue 3中&#xff0c;封装公共组件的场景包括但不限于以下几种情况&#xff1a; 重复使用的组件&#xff1a;如果你发现某个组件在多个地方重复使用&#xff0c;那么将其封装成公共组件是很有意义的。比如&#xff0c;页面中的各种表单控件&#xff08;输入框、下拉框、日期选…

梵宁教育春日主题大奖赛

梵宁教育春日主题大赛正式拉开帷幕&#xff0c;我们诚挚邀请各位同学积极参与&#xff0c;用你们的创意和才华诠释春天的魅力。 本次大赛以春日为主题&#xff0c;参赛作品形式多样&#xff0c;包括海报设计和剪辑创作。我们鼓励同学们发挥想象力&#xff0c;将春天的美好瞬间、…

Golang和Java的对决:从设计理念到工具链的全面比较

文章目录 使用率排名Golang和Java设计理念语法和类型系统并发处理资源消耗生态系统和工具链 结语 使用率排名 据最新的2024年3月 Tiobe 编程语言排行榜&#xff0c;目前 Golang 的使用率排名为第8呈上升趋势&#xff0c;Java 的使用率排名为第4呈下降趋势 2024年3月2023年3月…

Go——函数

一. 函数定义 1.1 特点 无需声明原型支持不定变参支持多返回值支持命名返回参数支持匿名函数和闭包函数也是一种类型&#xff0c;一种函数可以赋值给变量不支持嵌套&#xff0c;一个包不能有两个名字一样的函数不支持重载不支持默认参数 1.2 函数声明 函数声明包含一个函数名&…

谈谈考研数学几个常见误区

25考研数学&#xff0c;一定一定要吃透基础&#xff0c;练好计算 我之所以要强调这个&#xff0c;是因为现在的考研数学&#xff0c;越来越重视基础和计算的考察&#xff0c;题海战术已经过时&#xff0c;如果想要有效的提升自己&#xff0c;要进行针对性的学习。我去年考研的…

【.NET全栈】.NET全栈学习路线

一、微软官方C#学习 https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/ C#中的数据类型 二、2021 ASP.NET Core 开发者路线图 GitHub地址&#xff1a;https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md 三、路线…

常州威雅:「西陵氏奖学金」项目,只为寻找优秀的你!

栀子花开&#xff0c;凤凰花落&#xff0c;又是一年中考季。站在深耕“全人教育”的第十年&#xff0c;常州威雅现今面向全社会的优秀初三学子&#xff0c;首次推出「西陵氏奖学金」项目&#xff0c;助力梦想起航。 西陵氏女嫘祖&#xff0c;华夏文明的奠基人。她所发现、发明的…

Flutter iOS上架指南

本文探讨了使用Flutter开发的iOS应用能否上架&#xff0c;以及上架的具体流程。苹果提供了App Store作为正式上架渠道&#xff0c;同时也有TestFlight供开发者进行内测。合规并通过审核后&#xff0c;Flutter应用可以顺利上架。但上架过程可能存在一些挑战&#xff0c;因此可能…

VMware虚拟机三种网络模式配置

vmware有三种网络工作模式&#xff1a;Bridged&#xff08;桥接模式&#xff09;、NAT&#xff08;网络地址转换模式&#xff09;、Host-Only&#xff08;仅主机模式&#xff09;。 1. 打开网络编辑器&#xff08;编辑 --> 虚拟网络编辑器&#xff09; 在主机上有VMware Ne…

提效5倍,传统零售企业实时数据分析策略与应用实践

国家统计局数据显示&#xff0c;在过去的 2023 年里&#xff0c;中国社会消费品零售额整体增长稳定&#xff0c;零售业态消费开始恢复性增长。 同时&#xff0c;随着移动互联网的持续爆发增长&#xff0c;零售市场的竞争仍日益激烈。传统零售企业不仅要面对来自其他传统零售商的…

C++ 中的 vector 的模拟实现【代码纯享】

文章目录 C 中的 vector 模拟实现1. vector 的基本概念2. vector 的基本操作3. vector 的模拟实现4.代码纯享5. 总结 C 中的 vector 模拟实现 在 C 中&#xff0c;vector 是一个非常重要的容器&#xff0c;它提供了动态数组的功能。在本篇博客中&#xff0c;我们将尝试模拟实现…

结构体,联合体,枚举( 2 )

目录 2.联合体 2.1联合体类型的声明 2.2联合体的特点 2.3联合体的内存大小 3.枚举 3.1枚举类型的声明 3.2枚举类型的优点 3.3枚举类型的使用 2.联合体 联合体&#xff08;Union&#xff09;是另一种复合数据类型&#xff0c;它允许我们在同一内存位置存储不同的数据类型…

携程获取景点详情 API 返回值说明,item_get_scenic-获取景点详情

xiecheng.item_get_scenic 请求示例&#xff0c;API接口接入Anzexi58 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_sea…

AI预测福彩3D第25弹【2024年4月2日预测--第6套算法开始计算第2次测试】

今天&#xff0c;咱们进行第6套算法测试&#xff0c;本套算法将结合012路直选共27种组合&#xff0c;同时考虑了对012路的和值进行统计分析。今天为第2次测试&#xff0c;好了&#xff0c;废话不多说了。直接上结果~ 仍旧是分为两个方案&#xff0c;1大1小。 经过人工神经网络计…

使用minikube安装使用单机版K8S(docker)

前置&#xff1a;作为一个开发&#xff0c;工作之余想玩一下k8s&#xff0c;但是搭建成本太高&#xff0c;所以就找到了minikube这个工具&#xff0c;快速搭建单机版k8s&#xff0c;下面是个人搭建流程&#xff0c;基于centos7&#xff0c;仅供参考。 1.下载kubectl&#xff0…

[强推] 免费AI学习资料丨学习完还能获得微软证书,太香了!

五分钟白嫖一张微软学习证书 &#x1f4c5; 重要日期&#xff1a; &#x1f680; 开始&#xff1a;2024年4月1日 &#x1f51a; 结束&#xff1a;2024年5月1日 如何参与&#xff1a; &#x1f517; 挑战链接&#xff1a;立即参与 &#x1f4c3; 提交表格&#xff1a;提交…

智慧公厕:提升城市公卫管理效率与环境舒适度的利器

公厕作为城市基础设施的重要组成部分&#xff0c;一直以来备受市民们的关注与诟病。然而&#xff0c;随着科技的发展和城市智慧化进程的推进&#xff0c;智慧公厕作为一种集成了物联网等技术的创新型公厕逐渐走入人们的视野。智慧公厕不仅实现了信息化、数字化和智慧化&#xf…

ATFX汇市:小非农ADP数据来袭,将为周五大非农提供前瞻指引

ATFX汇市&#xff1a;今日20:15&#xff0c;美国自动数据处理公司将公布美国3月ADP就业人数&#xff0c;前值为增加14万人&#xff0c;预期值增加14.8万人。上图为美国ADP数据的历史表现&#xff0c;最近七个月&#xff0c;新增就业人口的柱线呈现出显著震荡特征&#xff0c;最…