SpringBoot-demo-HelloWorld

spring-boot-demo-helloworld

1.总体说明

  • 一个基本的SpringBoot应用程序,其中包含一个Restful控制器,用于响应http的get请求。

2.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@SpringBootApplication
@RestController
public class SpringBootDemoHelloworldApplication { //主类

public static void main(String[] args) { //程序入口并启动SpringBoot应用程序
SpringApplication.run(SpringBootDemoHelloworldApplication.class, args);
}

/**
* Hello,World
*
* @param who 参数,非必须
* @return Hello, ${who}
*/
@GetMapping("/hello") //使用HTTP的get请求,将“/hello”路径映射到sayHello方法
public String sayHello(@RequestParam(required = false, name = "who") String who) {//接受一个可选的查询参数名为who,绑定到参数who上
if (StrUtil.isBlank(who)) {
who = "World";
}
return StrUtil.format("Hello, {}!", who); //将占位符{}用"who"参数的值替换
}
}

3.详细解释

  • @SpringBootApplication:标记SpringBoot应用程序的主类,是一个配置类,并启用了Spring上下文的自动配置
  • @RestController:定义Spring MVC应用程序中的控制器类,表示类中方法的返回值是**HTTP响应体**(而不是依赖于视图技术)。

4.一些深入

4.1 什么是Sping上下文?

Spring 上下文(Spring Context)是 Spring 框架中的一个核心概念,它是一个对象容器,负责管理和维护应用程序中的所有对象(bean)。Spring 上下文充当了容器,负责加载、配置和组织应用程序中的各个组件,以及管理它们之间的依赖关系

  • 我的理解:感觉还是有点抽象,先留个印象吧

4.2 什么是视图技术?

常见的视图技术包括:

  1. JSP(JavaServer Pages): JSP 是一种基于 Java 的服务器端模板技术,允许将 Java 代码嵌入到 HTML 页面中。JSP 文件通常包含 HTML 标记和嵌入的 Java 代码,用于动态生成页面内容。
  2. Thymeleaf: Thymeleaf 是一种现代的服务器端模板引擎,支持自然的模板语法,而且可以直接在浏览器中预览模板。它特别适用于构建 HTML5 页面。

@Controller 注解通常与视图技术结合使用,将处理结果封装到模型中,然后选择适当的视图来呈现这些模型数据

@RestController 注解表示控制器类的方法的返回值直接作为 HTTP 响应体,不再依赖于视图技术。

4.3遇到的问题和解决

  • 问题:自己照着编写了一个MyHelloworldApplication,但是运行失败
  • 原因分析:两个主类基本一致,产生了映射冲突,导致两个不同的 @RestController 类中的相同路径 /hello 被映射到了相同的方法上
  • 解决:更改其中一个路径为/myHello,解决问题

SpringBoot-demo-HelloWorld
http://example.com/2024/01/21/网上技术学习/SpringBoot-demo-HelloWorld/
作者
jhxxxxx
发布于
2024年1月21日
许可协议