Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はじめてのSpring Boot

2,369 views

Published on

Java初心者からのSpring bootの始め方

Published in: Engineering
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

はじめてのSpring Boot

  1. 1. アジェンダ  はじめに  準備  Mavenプロジェクトの作成  Hello world !  まとめ
  2. 2. はじめに  Spring Bootを使って 簡単なWebシステム構築を実演する
  3. 3. 準備  ここでやること Spring Bootの実行環境のJavaと、 ビルドツールのMavenをインストールする。
  4. 4. 準備  Javaのインストール http://www.oracle.com/technetwork/java/javase/downloads/index.html 以降の手順ではJava SE 8u45を 「C:Program FilesJavajdk1.8.0_45」にインストールしたものとする。 下記URLからインストーラーをダウンロードしてインストールする。
  5. 5. 準備  パス設定 コンピュータのプロパティから「システムの詳細設定」を選んで、 下記環境変数を登録する。 続いて既存の環境変数の末尾に下記を付け加える。 (パスの区切り文字のセミコロンも含めて付け加える) 変数名 → JAVA_HOME 変数値 → C:Program FilesJavajdk1.8.0_45 変数名 → Path 変数値 → ;"%JAVA_HOME%bin"
  6. 6. 準備  Mavenのインストール 下記ZIPファイルをダウンロードし解凍する。 http://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.zip 以降の手順では「D:apache-maven-3.2.3」に解凍したものとする。
  7. 7. 準備  パス設定 コンピュータのプロパティから「システムの詳細設定」を選んで、 下記環境変数を登録する。 続いて既存の環境変数の末尾に下記を付け加える。 (パスの区切り文字のセミコロンも含めて付け加える) 変数名 → MAVEN_HOME 変数値 → D:apache-maven-3.2.3 変数名 → Path 変数値 → ;"%MAVEN_HOME%bin"
  8. 8. 準備  プロキシ設定 Mavenはビルドに必要なライブラリがローカルにない場合、 ネットワーク経由で自動的にダウンロードするので プロキシの設定が必要になる。 インストールフォルダの「conf」フォルダにある 「settings.xml」をテキストエディタで開いて、 <proxies>タグ内に下記を追記する。 <proxy> <active>true</active> <protocol>http</protocol> <host>xxx.xxx.xxx.xxx</host> <port>nnn</port> </proxy>
  9. 9. 準備  確認 コマンドプロンプトを開いて、インストールが出来たか確認する。 Javaがインストールできたか、javaコマンドを使って確認する。 Mavenがインストールできたか、mvnコマンドを使って確認する。 # java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b15) Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode, sharing) # mvn -version Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08- 12T05:58:10+09:00) Maven home: D:apache-maven-3.2.3bin.. Java version: 1.8.0_45, vendor: Oracle Corporation Java home: C:Program FilesJavajdk1.8.0_45jre Default locale: ja_JP, platform encoding: MS932 OS name: "windows 7", version: "6.1", arch: "x86", family: "dos"
  10. 10. Mavenプロジェクトの作成  ここでやること Mavenを使って空のプロジェクトを作成し、 Spring Bootの依存関係の追加と Webサーバが起動するまでを確認する。
  11. 11. Mavenプロジェクトの作成  空のプロジェクトを作成 コマンドプロンプトを開いて適当なフォルダに移動し、 下記コマンドを実行して空のMavenプロジェクトを作成する。 以降の手順では「C:Work」で実行した場合。 読みやすく改行しているが、実際は1行で記述する。 これは本来Eclipse等のIDEで行うことなので覚える必要はな い。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.945 s [INFO] Finished at: 2015-09-16T12:55:03+09:00 [INFO] Final Memory: 11M/32M [INFO] ------------------------------------------------------------------------ mvn archetype:generate -DgroupId=com.kubota.myfirstspringboot -DartifactId=MyFirstSpringBoot -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 初回の実行はダウンロードが多く発生するが、 最後の「BUILD SUCCESS」が出力されればプロジェクト作成成功。
  12. 12. Mavenプロジェクトの作成  フォルダ構成 空のプロジェクトを作成した直後は、 下記のようなフォルダ構成とファイルが作成される。 # tree /F C:. │ pom.xml │ └─src ├─main │ └─java │ └─com │ └─kubota │ └─myfirstspringboot │ App.java │ └─test └─java └─com └─kubota └─myfirstspringboot AppTest.java ■pom.xml プロジェクトの定義ファイ ル ■App.java 自動生成されたソース ■AppTest.java 自動生成されたUT用ソース
  13. 13. Mavenプロジェクトの作成  ビルドと実行 この初期状態でビルドと実行をしてみる。 まずはMyFirstSpringBootフォルダに移動してビルド。 # cd MyFirstSpringBoot # mvn package [INFO] Scanning for projects... ~~~ 中略 ~~~ [INFO] Building jar: C:WorkMyFirstSpringBoottargetMyFirstSpringBoot-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.195 s [INFO] Finished at: 2015-09-16T13:35:02+09:00 [INFO] Final Memory: 13M/31M [INFO] ------------------------------------------------------------------------ Warningが出るが、「BUILD SUCCESS」と出力されればビルド成功。
  14. 14. Mavenプロジェクトの作成  ビルドと実行 続いて実行をする。 targetフォルダ内にJARファイルが作成されるので、 それをクラスパスに指定して実行する。 # java -classpath targetMyFirstSpringBoot-1.0-SNAPSHOT.jar com.kubota.myfirstspringboot.App Hello World! 自動生成されたAppクラスが実行されれば成功。
  15. 15. Mavenプロジェクトの作成  プロジェクトの定義ファイル(pom.xml)を修正 Mavenのセントラルリポジトリの定義を指定する。 <project ~~~ 中略 ~~~ <url>http://maven.apache.org</url> <repositories> <repository> <id>central</id> <url>http://central.maven.org/maven2/</url> </repository> </repositories> <dependencies> ~~~ 中略 ~~~ </project> <dependencies>タグの上に <repositories>タグを追加
  16. 16. Mavenプロジェクトの作成  プロジェクトの定義ファイル(pom.xml)を修正 このプロジェクト定義の親の定義をSpring Bootのものに置き換える。 <project ~~~ 中略 ~~~ </repositories> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.5.RELEASE</version> </parent> <dependencies> ~~~ 中略 ~~~ </project> <repositories>タグの下に <parent>タグを追加
  17. 17. Mavenプロジェクトの作成  プロジェクトの定義ファイル(pom.xml)を修正 Spring Bootの依存関係を追記。 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <dependencies>タグの中に <dependency>タグを追加
  18. 18. Mavenプロジェクトの作成  プロジェクトの定義ファイル(pom.xml)を修正 Spring Bootのビルドプラグインを追記。 </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> <dependencies>タグの下に <build>タグを追加
  19. 19. Mavenプロジェクトの作成  プログラム( App.java )を修正 不要なコードを削除。 package com.kubota.myfirstspringboot; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } } コメントを削除 Hello World! を削除 ブロックの開始位置を修正
  20. 20. Mavenプロジェクトの作成  プログラム( App.java )を修正 Spring Bootが起動するよう、mainメソッドを修正。 package com.kubota.myfirstspringboot; public class App { public static void main( String[] args ) { SpringApplication.run(App.class, args); } } Mainメソッド内でSpring Bootを起動する
  21. 21. Mavenプロジェクトの作成  プログラム( App.java )を修正 Spring Bootに必要なアノテーションとインポートを追記。 package com.kubota.myfirstspringboot; import org.springframework.stereotype.Controller; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.boot.SpringApplication; @Controller @EnableAutoConfiguration @ComponentScan public class App { public static void main( String[] args ) { SpringApplication.run(App.class, args); } } Spring Bootに必要なアノテーション
  22. 22. Mavenプロジェクトの作成  ビルドと実行 ビルドする。 プロジェクトの定義を修正したので、 最初は色々とダウンロードが走る。 # mvn package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building MyFirstSpringBoot 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ ~~~中略~~~ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.894 s [INFO] Finished at: 2015-09-16T14:21:08+09:00 [INFO] Final Memory: 17M/42M [INFO] ------------------------------------------------------------------------ 「BUILD SUCCESS」と出力されればビルド成功。
  23. 23. Mavenプロジェクトの作成  ビルドと実行 実行する。 実行というか、Spring Bootの起動を行う。 # mvn spring-boot:run ~~~中略~~~ . ____ _ __ _ _ / / ___'_ __ _ _(_)_ __ __ _ ( ( )___ | '_ | '_| | '_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.1.5.RELEASE) 日本語環境だとバックスラッシュが¥マークとなるが、 「Spring」と出力されれば起動成功。 Webサーバが起動するので、Ctrl+Cで終了する。 ここまででSpring Bootの基本的な環境が出来た。
  24. 24. Hello world !  ここでやること Spring Bootで初歩の初歩なWebアプリを作成する。
  25. 25. Hello world !  プロジェクトの定義ファイル(pom.xml)を修正 テンプレートエンジンの依存関係を追記。 <dependencies> ~~~ 中略 ~~~ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> </dependencies> <dependencies>タグ内に テンプレートエンジンのタグを追加
  26. 26. Hello world !  リクエストコントローラ(Hello.java)を追加 App.javaと同じ場所にリクエストコントローラを追記する。 これがHTTPリクエストのハンドリングを行う。 package com.kubota.myfirstspringboot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("hello") public class Hello { @RequestMapping(method=RequestMethod.GET) public String sayHello() { return "helloworld"; } } http://localhost:8080/hello をハンドリングすることを宣言 GETメソッドを処理することを宣言 テンプレート「helloworld」を呼ぶ
  27. 27. Hello world !  テンプレート( helloworld.html )を追加 コントローラから呼び出されて、HTMLを生成するのがテンプ レート。 テンプレートは下記の場所に置く。 <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> Hello world! </body> </html> テンプレートエンジン 「thymeleaf」を使う宣言 srcmainresourcestemplates
  28. 28. Hello world !  ビルドと実行 ビルドする。 # mvn package [INFO] Scanning for projects... ~~~中略~~~ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ 続いてSpring Bootを起動する。 # mvn spring-boot:run [INFO] Scanning for projects... [INFO] ~~~中略~~~ . ____ _ __ _ _ / / ___'_ __ _ _(_)_ __ __ _ ( ( )___ | '_ | '_| | '_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.1.5.RELEASE)
  29. 29. Hello world !  ブラウザでアクセス ブラウザを立ち上げて、下記URLにアクセスする。 http://localhost:8080/hello 以下のようなページが表示されれば成功。
  30. 30. Hello world !  処理の流れ 1.ブラウザがサーバにリクエストを送信する。 2.サーバがURL「hello」を処理するコントローラを呼び出す。 @Controller @RequestMapping("hello") public class Hello { @RequestMapping(method=RequestMethod.GET) public String sayHello() { 3.コントローラがリクエスト結果を表示するテンプレートを返す。 return "helloworld"; 4.テンプレート(helloworld.html)がHTMLを返す。 <body> Hello world! </body> 5.ブラウザがHTMLを表示する。
  31. 31. まとめ ここまでがSpring Bootを使ったシステム構築のほんの入口で、 この先にはビジネスロジックと永続化層がある。 HTTPリクエスト コントローラ ビジネスロジック データ永続化 DB Spring Boot Core Spring Data JPA テクノロジ階層モデル

×