春コース初日
22506 ワード
韓日
インストール/検証
スプリングガイドを使用して教育を行います.
JDKのインストール/検証
cmdでjava--versionを検索してjavaインストールバージョンを検証します.インストールされている場合は、どうでもいいです.

jdk 11バージョンをダウンロードした後、アーカイブファイルをjdkフォルダに解凍します.

環境変数を検証します.登録済みの場合は、交換する必要はありません.
カリキュラムはjdk 11.0.2バージョンで行われます.
(ただし、以下にSTSをインストールした後、JRE設定時に登録パスを指定する必要があることに注意してください.)

ない場合は、上の写真を参考にパスを指定して設定してください.
cドライブ>Spring>IDE(STS位置)/JDK(JDKファイル位置)


インストールSTS
公式Springホームページ
Spring Toolsのダウンロード(STS)

git bashを使用して現在のフォルダ>java-jar s+tebキーを開き、自動的に文章を完了し、実行>解凍を実行します.
または、cmd>ファイルパス>java-jars+tebキーを使用して、文の実行>解凍を自動的に完了します.

実行
JRE 11設定
Java実行可能ファイルJREは11版にカスタマイズ可能

Windows>preferences>java>インストールされているJResのAddボタン>標準仮想マシン

現在設定されているJDKパスの指定

選択したバージョンを変更して確認
ハングル設定

Windows>preferences>General>ワークスペースで、エンコーディングをUTF-8に変更します.
XML Filesも確認後、他の場合はUTF-8に変更します.
@Controllerと@RestControllerの違い
すべてのリクエストはDespachar Serviceletによって受信され、コントローラがある場合は対応するコントローラにリクエストが転送されます.
コントローラはviewで画面を表示します.
RestControllerでは、画像を受信せずに情報のみを受信します.
依存関係とは?
Aライブラリ使用Bライブラリ使用C関係を依存関係と呼びます.Spring Bootでは、代表的なライブラリを依存関係にインポートすると、依存関係のライブラリが自動的にインポートされます.
つまり、毎日ライブラリをダウンロードしてバージョンを管理する必要はありません.
プロジェクトフォルダのMaven Dependencesで検証できます.
新規プロジェクトの作成
new > spring starter

Groupは主に会社のドメインを逆順序で記入します.こちらはcommyappで記入します.

完了を待つと、必要なファイルが自動的にロードされます.
pom.xml

プロジェクトと依存関係のライブラリをDependencyタブで管理します.
プロジェクトを作成するユニークなアイデア

実行

コンソールのテキストバッファが小さいエラー.

設定中に写真ごとにバッファを追加することで解決します.

スプリングガイド内部にはTomcatサーバが含まれており、自動的に動作します.
終了すると自動的に終了します.

実行後、urlウィンドウでlocalhost:8080を検索すると、対応する画面が表示され、Tomcatが実行されます.
RestControlの使用
GetMappingの使用

新しいクラスの作成

mainパッケージを作成した後、次の内容を作成します.フォルダ構造が上の写真と同じかどうかを確認します.
HelloController
@RestController
public class HelloController {
@GetMapping("/")
public String sayHello() {
return "헬로우";
}
}

Getメソッドを実行するように
再検索するとHELLOWが出てきます(省略/.これはlocalhost:8080/を検索した結果です.)

spring-boot-devtoolsの追加

=>が適用されない場合pom.更新後にxml>maven>updateを再起動
アドレスに接続すると、@RestController内部のメソッドが要求されます.
コントローラがない場合は、リクエストを受信できません.
HelloControllerの変更
@RestController
@RequestMapping("/hello")
public class HelloController {
@GetMapping("/basic")
public String sayHello() {
return "<h3>헬로우 월드</h3>";
}
@GetMapping("/korean")
public String translate() {
return "<h2>안녕하세요</h2>";
}
@GetMapping("/japen")
public String translate2() {
return "<h2>곤니치와</h2>";
}
}
変更後のlocalhost:8080/検索エラー(パスが指定されていないメソッドがないため)、http://localhost:8080/hello/korean行きますは文の正常な表示を要求します.

=>http://localhost:8080/hello/japan行きますリクエストの結果.
アシスタントとして指定された/helloパスの下のメソッドはリクエストを受信するため、リクエスト時に/helloが必要です.
PostMappingの使用
HelloControllerクラスに追加
@GetMapping("/form")
public String form() {
return "<form method=\"post\" action=\"/hello/formpost\">\r\n"
+ " 이름 : <input type=\"text\" name=\"name\"><br>\r\n"
+ " 학번 : <input type=\"text\" name=\"id\"><br>\r\n"
+ " 학과 : <input type=\"text\" name=\"dep\"><br>\r\n"
+ " <input type=\"submit\">\r\n"
+ "</form>";
}
@PostMapping("/formpost") // request parameter로 받은 "name"속성을 java로 String 속성 name으로 받음
public String formpost(@RequestParam("name") String name,
@RequestParam("id") String id,
@RequestParam("dep") String dep) {
return "당신의 이름은 " + name + " id는 " + id + " 학과는 " + dep + "입니다.";
}
@GetMapping("/orders/{id}") // {id} 는 패스변수 (파라메터가 아님)
public String order(@PathVariable String id) {
return "주문 아이디는 " + id;
}
フォームの使用
入力後にコミットするとPostMappingに切り替わります

path変数の使用


path変数.クエリーとは異なります.
変数ビットに入力するように出力します.
戻りjson
新しいコントローラの作成

UserController
@RestController
@RequestMapping("/user") // 요청주소가 https://localhost:8080/user 로 시작하는 모든 url을 이 클래스로 받아온다
public class UserController {
@GetMapping("/{id}/contact")
public String displayContent(@PathVariable("id") String userId,
@RequestParam(value = "phone", defaultValue = "핸드폰 없음") String phone) {
return "유저 아이디: " + userId + ", 연락처: " + phone;
}
}

連絡先に値がない場合は、defaultValueに設定された値を出力します.


製品クラスを作成します.
public class Product {
private int id;
private String name;
private int price;
public Product(int id, String name, int price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
UserControllerクラスに追加// 객체를 리턴하기 => 제이슨
@GetMapping("/{id}/products")
public List<Product> displayUserProducts() {
return Arrays.asList(new Product(1, "모자", 5000),
new Product(2, "신발", 12000),
new Product(3, "가방", 18000));
}

Reference
この問題について(春コース初日), 我々は、より多くの情報をここで見つけました https://velog.io/@0829kuj/스프링수업-1일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol