春コース初日

22506 ワード

韓日


インストール/検証
  • JDK
  • STS取付
  • RestControl
  • を使用
  • @GetMapping
  • @PostMapping
  • json
  • に戻る
    スプリングガイドを使用して教育を行います.

    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タブで管理します.
  • java.version
  • Javaバージョンの提供
  • groupId
    プロジェクトを作成するユニークなアイデア
  • pom.xml>spring>Add springを選択すると、new springstarterを開いて他のサービスを追加することもできます.

    実行

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

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

    スプリングガイド内部には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));
    }