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.hqwc.cn/news/589993.html

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

相关文章

Android JNI 调用第三方SO

最近一个项目使用了Go 编译了一个so库&#xff0c;但是这个so里面还需要使用第三方so库pdfium, 首先在Android工程把2个so库都放好 在jni中只能使用dlopen方式&#xff0c;其他的使用函数指针的方式来调用&#xff0c;和windows dll类似&#xff0c;不然虽然编译过了但是会崩溃…

日志服务 HarmonyOS NEXT 日志采集最佳实践

作者&#xff1a;高玉龙&#xff08;元泊&#xff09; 背景信息 随着数字化新时代的全面展开以及 5G 与物联网&#xff08;IoT&#xff09;技术的迅速普及&#xff0c;操作系统正面临前所未有的变革需求。在这个背景下&#xff0c;华为公司自主研发的鸿蒙操作系统&#xff08…

29-控制流(下):iam-apiserver服务核心功能实现讲解

我们再来看下 iam-apiserver 中的核心功能实现。 这些关键代码设计分为 3 类&#xff0c;分别是应用框架相关的特性、编程规范相关的特性和其他特性。 应用框架相关的特性 应用框架相关的特性包括三个&#xff0c;分别是优雅关停、健康检查和插件化加载中间件。 优雅关停 …

elementui 左侧或水平导航菜单栏与main区域联动

系列文章目录 一、elementui 导航菜单栏和Breadcrumb 面包屑关联 二、elementui 左侧导航菜单栏与main区域联动 三、elementui 中设置图片的高度并支持PC和手机自适应 四、elementui 实现一个固定位置的Pagination&#xff08;分页&#xff09;组件 文章目录 系列文章目录…

书生·浦语大模型InternLM-Chat-1.8B 智能对话 Demo 第二期

文章目录 InternLM-Chat-1.8B 智能对话 Demo环境准备下载模型运行 InternLM-Chat-1.8B web 运行八戒 demo下载模型执行Demo InternLM-Chat-1.8B 智能对话 Demo 环境准备 在InternStudio平台中选择 10% A100(1/4) 的配置&#xff08;平台资源有限&#xff09;&#xff0c;如下图…

Spark-Scala语言实战(11)

在之前的文章中&#xff0c;我们学习了如何在spark中使用RDD中的cartesian,subtract最终两种方法。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 Spark-Scal…

AI学习-线性回归推导

线性回归 1.简单线性回归2.多元线性回归3.相关概念熟悉4.损失函数推导5.MSE损失函数 1.简单线性回归 ​ 线性回归&#xff1a;有监督机器学习下一种算法思想。用于预测一个或多个连续型目标变量y与数值型自变量x之间的关系,自变量x可以是连续、离散&#xff0c;但是目标变量y必…

第二十一章 RabbitMQ

一、RabbitMQ 介绍 在介绍 RabbitMQ 之前&#xff0c;我们先来看下面一个电商项目的场景&#xff1a; - 商品的原始数据保存在数据库中&#xff0c;增删改查都在数据库中完成。 - 搜索服务数据来源是索引库&#xff08;Elasticsearch&#xff09;&#xff0c;如果数据库商品…

【JavaWeb】Day32.MySQL概述

什么是数据库 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 像我们日常访问的电商网站京东&#xff0c;企业内部的管理系统OA、ERP、CRM这类的系统&#xff0c;以及大家每天都会刷的头条、抖音类的app&#xff0c;那这些大家所…

redis之穿透、击穿、雪崩

目录 缓存雪崩 问题描述 缓存雪崩 问题描述 key 对应的数据存在&#xff0c;但在 redis 中过期&#xff0c;此时若有大量并发请求过来&#xff0c;这些请求发现缓存过期一般都会从后端数据库加载数据并回设到缓存&#xff0c;这个时候大并发的请求可能会瞬间把后端数据库压垮。…

非小米电脑下载小米电脑管家

由于 小米电脑管家 现在新增了机型验证&#xff0c;本篇将分享非小米电脑用户如何绕过机型验证安装 小米电脑管家 首先到小米跨端智联官网 https://hyperos.mi.com/continuity 中下载小米电脑管家 打开官网链接后&#xff0c;直接滑动到底部&#xff0c;点击下载 下载完成后…

NineData云原生智能数据管理平台新功能发布|2024年3月版

数据库 DevOps - 大功能升级 SQL 开发早期主要提供 SQL 窗口&#xff08;IDE&#xff09;功能&#xff0c;在产品经过将近两年时间的打磨&#xff0c;新增了大量的企业级功能&#xff0c;已经服务了上万开发者&#xff0c;覆盖了数据库设计、开发、测试、变更等生命周期的功能…