[Spring spring入門]1.プロジェクトの環境設定


1.プロジェクト


1)プロジェクトの作成


設定


java11.0.11
intelliJ

プロジェクトの作成


start.spring.ioを使用したプロジェクトの作成

  • project
  • maven vs gradle->ヘルプ構築ツール

  • SpringBoot ver
  • snapshot->作成中のバージョン
  • m 1->未公開バージョン

  • Project Metadata
  • group:企業ドメイン名
  • artifact:成果物の構築

  • dependencies

  • 使用するライブラリ

  • Springweb、thymleaf(テンプレートエンジン)
  • 2)プロジェクト構造


    srcの下にmainとtestがあります.mainの下にjavaがあり、resourceは実際のソース(javaファイル)とプロファイルです.
    build.Gradleは、MavenCentral()を使用して依存項目を簡単に取得および構築できます.

    3)プロジェクト実行


    環境設定が完了した場合にmainアプリケーションを実行すると、スプリングブートが実行されます.また、http 8080ポートでTomcatサーバが内蔵されていることを確認できます.
    SpringBootソースライブラリにはTomcatサーバが内蔵されています.
  • preferenceショートカット:ctrl+alt+s
  • Gradleインテリジェント化不要:preference->gradle->intelliJ
  • 2.ライブラリ


    Gradleは依存関係のあるライブラリを同時にダウンロードします.

    1)ばね起動庫

  • spring-boot-starter-web
  • spring-boot-start-tomcat:tomcat(Webサーバ)
  • spring-webmvc:SpringWeb MVC
  • spring-boot-start-thymeleaf:時間軸テンプレートエンジン(View)
  • spring-boot-starter(汎用):スプリングガイド+スプリングコア+ログ
  • spring-boot
  • spring-core
  • spring-boot-starter-logging
  • logback, slf4j
  • 2)試験庫

  • spring-boot-starter-test
  • junit:試験フレームワークは主に5シリーズ
  • に用いられる
  • mockito:ディレクトリライブラリ
  • assertj:テストコードの作成に役立つライブラリ
  • spring-test:spring統合テストサポート(junitとspringを統合してテストを支援)
  • 3.Viewプリファレンス


    1)静的ページ動作


    WelcomePageの作成


  • resources/static/index.html
    <!DOCTYPE HTML>
    <html>
    <head>
     <title>Hello</title>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    Hello
    <a href="/hello">hello</a>
    </body>
    </html>

  • Spring Bootが提供するWelcomePage機能
  • static/index.htmlをアップロードしてWelcome page機能を提供します.
  • https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page
  • 2)賛美詩ページアクション


  • Thymeleaf公式サイト:https://www.thymeleaf.org/

  • スプリング公式チュートリアル:https://spring.io/guides/gs/serving-web-content/

  • Spring起動メニュー:https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-template-engines

  • cotroller/HelloController.class
    @Controller
    public class HelloController {
     @GetMapping("hello")
     public String hello(Model model) {
     model.addAttribute("data", "hello!!");
     return "hello";
     }
    }
    /*
    스프링의 웹의 진입점은 Controller다. 
    어노테이션 GetMapping을 통해 "/hello" url을 연결하고, Model 메서드를 선언한다.
    이 메서드는 "data"라는 키를 통해 "hello!"를 전달하며, return 값은 "hello.html"로 리턴하라는 의미다.
    */

  • resources/templates/hello.html
    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
     <title>Hello</title>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
    </body>
    </html>
    <!-- 태그 p에서 ${"data"}는 coctroller 모델에서 전달받은 키이며, 키에 대한 값을 리턴한다.-->
  • 動作環境



    Web上で検索->Tomcatはまず->/helloを受信し、->コントローラはモデルのデータキー値をhtmlから->htmlに戻して画面処理を行います.

    4.構築とともに実行


    ウィンドウのバージョン
    サーバの配備時にjarファイルをコピーしてjavaを実行するとサーバ上で実行されます
  • gradlewbuild:構築
  • cd build/lib
  • java -jar hello-spring-0.0.1-SNAPSHOT.jar
  • 運転確認
  • gradle clean build:構築の消去
  • cmdでLinuxコマンドを使用する
  • ll.->doskey ll = dir