反思:第一次接触Spring Boot

首先
我想使用Spring Boot来创建Web应用程序,
学习了Java和使用Spring Boot,
尝试第一次运行Hello World的时候,发生了…
研发环境
-
- Java 19
-
- Spring Boot 2.7.5 maven project
- macOS Ventura (CPU:Intel)
Spring Boot 是一种Java开发框架。
将Spring项目组进行打包,并提供一个简单易用的框架。
环境建设











代码 mǎ)
src/main/java/com/example/demo/HelloWorld.java 的中文复述:
package com.example.demo;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RestController;
@Controller
public class HelloWorld {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String Hello(Model model) {
model.addAttribute("title", "Hello World");
model.addAttribute("message", "Welcome to my site");
return "hello";
}
}
src/main/resources/templates/hello.html 的源文件。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello</title>
</head>
<body>
<h1 th:text="${title}"></h1>
<p>
<div th:text="${message}" />
</p>
</body>
</html>
实施结果
请执行以下命令。
./mvnw spring-boot:run #開発環境にも書いてますがmacなので./で実行しています


这么说?啊?嗯?噢!!!!噢噢!! 愤怒!!
因果、缘由、理由、动机、目的、起因、根源
这个文件路径的位置没有特别的问题。
也有可能是404的原因,因为源代码并没有在眼前。
出了什么问题呢?
对于使用Spring Boot的人来说,这段Java源代码让人不禁笑出声来。
其实,这段代码是我为了将值放到HTML中并使其运行,强行写出来的结果。
解决方案
这是关于Spring群组包和工具内容的一篇文章,要求对其进行详细理解并进行撰写。
这次将写下成功运行该代码的代码。
其中会附加重要的用于运行Spring Boot的库等信息。
依赖关系问题
为了嵌入HTML,这段代码使用了一个名为Thymeleaf的模板引擎。所以你需要在pom.xml中进行追加。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
配置 Thymeleaf
为了使用thymleaf,需要使用html文件进行配置
src/main/resources/application.properties
#thymeleafを使用する
spring.thymeleaf.mode=HTML
Java代码
这是我在代码中用注释追加的个人不理解部分。
src/main/java/com/example/demo/HelloWorld.java -> 源代码/主要/Java文件夹/例子/演示/HelloWorld.java
package com.example.demo;
import org.springframework.boot.SpringApplication; //
//tymeliefを使用する /src/templates/application/spring.thymeleaf.mode=HTML
import org.springframework.ui.Model; //Spring MVC thymeleafを使用するライブラリ addAtrributeを使ってvalueの値を代入
import org.springframework.web.bind.annotation.GetMapping; //GETリクエストされた際の
//import org.springframework.web.bind.annotation.RequestMapping; //数種のRequestのマッピング
//import org.springframework.web.bind.annotation.RequestMethod; // RequestMappingの引数の中で使える. リクエストの受付種類を method = RequesrtMethod.GET/POST
import org.springframework.boot.autoconfigure.SpringBootApplication; // Webページアプリ用,メソッドの戻り値が遷移先のview
import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RestController; //APIサーバーなどに使われる、XML JSON
@SpringBootApplication //このアノテーションで Spring Bootのアプリだと宣言します。
@Controller
public class HelloWorld {
public static void main(String[] args) {
SpringApplication.run(HelloWorld.class, args);
}
//リクエスト URL に対して、どのメソッドが処理を実行するか定義するアノテーション。GETでアクセスされたリクエストの場合
//@RequestMapping(value = "/", method = RequestMethod.GET)
//
@GetMapping("/")
public String Hello(Model model) {
model.addAttribute("title", "Hello World");
model.addAttribute("message", "Welcome to my site");
return "hello";
}
}
您可以将下面的函数中的变量赋值给title,并传递给HTML。
model.addAttribute("title", "Hello World");
model.addAttribute("message", "Welcome to my site");
src/main/resources/templates/hello.html 的中文翻译选项:主要/源/资源/模板/你好.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello</title>
</head>
<body>
<h1 th:text="${title}"></h1> <!-- titleにHellowWorldが代入されている -->
<p>
<div th:text="${message}" />
</p>
</body>
</html>
执行结果
用下面的指令来执行
./mvnw spring-boot:run #開発環境にも書いてますがmacなので./で実行しています

好了!Spring Boot × Thymeleaf的环境建立完成了。
最终或者最后
我认为不应该像Python一样认为只要做这个,那个就会成功。我会努力学习Java和Spring,并深入了解其机制。
给出参考资料
提供参考来源
请参考资料
供参考使用
参照资料
Spring Boot 入门-参考文档
春季快速入门指南