【Java】从基础到Hello World的Spring Boot入门
春天是指的什么?
Java开发中的框架(即效率工具)
例如:用于访问数据库的类等。
春季的整体图像

SpringBoot(≒ Spring框架)
-
- Springフレームワークがベース(もともとJavaのフレームワーク)
-
- 複数のライブラリの集合体。ビジネス系のApp作るために必要なものを網羅している
Spring MVC
Spring JDBC
Spring Security
Spring Data (JPA)
複数のフレームワークを使用する際に設定をXMLでゴリゴリ書かなくても簡単に設定できるのがSpring Boot
Spring依赖注入
-
- DI :Dependency Injection(依存性の注入)
-
- Spring DI =DIコンテナのこと
-
- インスタンスの管理を行う
- Springコア部分の機能を担う。Soring MVCなどはこの機能に沿っている。
依赖注入是一种设计模式。
- newという演算子でobject生成する方法
//Dateオブジェクトのインスタンスをtodayに代入
var today = new Date();
var day = today.getDate();
console.log("今日は"+ day +"日です");
-
- これに対してDIではインスタンス変数(注入先の変数)に@Autowired(アノテーション)を付与
- @Componentアノテーションのついたクラスの中から該当するクラスに対してオブジェクトを生成しインジェクトしてくれる(newしてインスタンスを突っ込んでくれる)
@Controller
public class ProductController {
@Autowired
private ProductService productService;
//略
}
-
- 良いソフトウェアコードの考え方に沿っている
高凝集性(High Cohesion):責任範囲が明確
疎結合性(Low Coupling):お互いに依存していない
new演算子を用いると密結合になってしまうが、
コンテナ(=第三者)にインジェクトしてもらうことで疎結合にすることができる!?
使用IntelliJ和gradle,展示SpringBoot的Hello World。
设定

文件夹结构
build.gradle:グレードルのプロジェクトであることがわかる
group:成果物であるjarファイルの名前
source compatibility:Java11以降の環境で動く
dependencies ;使いたいライブラリを記述。ここに書くとリポジトリから勝手にとってきてくれる!?
ソースコードがコンパクトに!
repository指定場所が違う/プロキシが違うとかでダウンロードできないトラブルもあるので注意
src/main/java :配下にjavaのコード書くという決まり
src/main/resources/applications.propaties:ポートを簡単に変更できる
server.port=8081
创建班级 jí)
src/main/java/com.example.demo上で、右クリック > New > Class
Name: SampleController

//Springbootを動かす時に、URLを受け取り、index.htmlを返す
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class SampleController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index(Model model) {
model.addAttribute("message", "Hello World!!");
return "index";
}
}
创建HTML文件
main/resources/templates > New > HTML File
Name: index.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello World</title>
<meta charset="utf-8" />
</head>
<body>
<h1>SpringBoot</h1>
<p>
<span th:text="${message}"></span>
</p>
</body>
</html>
启动并完成!

(注意)关于端口
