際際滷
Submit Search
はじめてのSpring Boot
?
Download as PPTX, PDF
?
7 likes
?
3,408 views
なべ
Follow
Java兜伉宀からのSpring bootの兵め圭
Read less
Read more
1 of 32
Download now
Downloaded 24 times
More Related Content
はじめてのSpring Boot
2.
アジェンダ ? はじめに ? ?
Mavenプロジェクトの恬撹 ? Hello world ! ? まとめ
3.
はじめに ? Spring Bootを聞って gなWebシステムBをg處する
4.
? ここでやること Spring Bootのg佩h廠のJavaと、 ビルドツ`ルのMavenをインスト`ルする。
5.
? Javaのインスト`ル http://www.oracle.com/technetwork/java/javase/downloads/index.html 參週の返ではJava SE
8u45を 仝C:Program FilesJavajdk1.8.0_45々にインスト`ルしたものとする。 和URLからインスト`ラ`をダウンロ`ドしてインスト`ルする。
6.
? パスO協 コンピュ`タのプロパティから仝システムのO協々をxんで、 和h廠篳を鞠hする。 Aいて屡贋のh廠篳の挑硫に和を原け紗える。 ┘僖垢稜俳り猟忖のセミコロンも根めて原け紗える 篳兆 ★
JAVA_HOME 篳 ★ C:Program FilesJavajdk1.8.0_45 篳兆 ★ Path 篳 ★ ;"%JAVA_HOME%bin"
7.
? 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々に盾したものとする。
8.
? パスO協 コンピュ`タのプロパティから仝システムのO協々をxんで、 和h廠篳を鞠hする。 Aいて屡贋のh廠篳の挑硫に和を原け紗える。 ┘僖垢稜俳り猟忖のセミコロンも根めて原け紗える 篳兆 ★
MAVEN_HOME 篳 ★ D:apache-maven-3.2.3 篳兆 ★ Path 篳 ★ ;"%MAVEN_HOME%bin"
9.
? プロキシO協 Mavenはビルドに駅勣なライブラリがロ`カルにない栽、 ネットワ`クU喇で徭啜弔縫瀬Ε鵐踪`ドするので プロキシのO協が駅勣になる。 インスト`ルフォルダの仝conf々フォルダにある 仝settings.xml々をテキストエディタで_いて、 <proxies>タグ坪に和を弖する。 <proxy> <active>true</active> <protocol>http</protocol> <host>xxx.xxx.xxx.xxx</host> <port>nnn</port> </proxy>
10.
? _J コマンドプロンプトを_いて、インスト`ルが竃栖たか_Jする。 Javaがインスト`ルできたか、javaコマンドを聞って_Jする。 Mavenがインスト`ルできたか、mvnコマンドを聞って_Jする。 # 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"
11.
Mavenプロジェクトの恬撹 ? ここでやること Mavenを聞って腎のプロジェクトを恬撹し、 Spring Bootの卆贋vSの弖紗と Webサ`バが軟咾垢襪泙任魎_Jする。
12.
Mavenプロジェクトの恬撹 ? 腎のプロジェクトを恬撹 コマンドプロンプトを_いてm輝なフォルダに卞咾掘 和コマンドをg佩して腎のMavenプロジェクトを恬撹する。 參週の返では仝C:Work々でg佩した栽。 iみやすく個佩しているが、gHは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 兜指のg佩はダウンロ`ドが謹くk伏するが、 恷瘁の仝BUILD SUCCESS々が竃薦されればプロジェクト恬撹撹孔。
13.
Mavenプロジェクトの恬撹 ? フォルダ撹 腎のプロジェクトを恬撹した岷瘁は、 和のようなフォルダ撹とファイルが恬撹される。 # tree
/F C:. pom.xml 県src 制main 県java 県com 県kubota 県myfirstspringboot App.java 県test 県java 県com 県kubota 県myfirstspringboot AppTest.java *pom.xml プロジェクトの協xファイ ル *App.java 徭喇撹されたソ`ス *AppTest.java 徭喇撹されたUT喘ソ`ス
14.
Mavenプロジェクトの恬撹 ? ビルドとg佩 この兜豚彜Bでビルドとg佩をしてみる。 まずは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々と竃薦されればビルド撹孔。
15.
Mavenプロジェクトの恬撹 ? ビルドとg佩 Aいてg佩をする。 targetフォルダ坪にJARファイルが恬撹されるので、 それをクラスパスに峺協してg佩する。 # java
-classpath targetMyFirstSpringBoot-1.0-SNAPSHOT.jar com.kubota.myfirstspringboot.App Hello World! 徭喇撹されたAppクラスがg佩されれば撹孔。
16.
Mavenプロジェクトの恬撹 ? プロジェクトの協xファイルpom.xmlを俐屎 Mavenのセントラルリポジトリの協xを峺協する。 <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>タグを弖紗
17.
Mavenプロジェクトの恬撹 ? プロジェクトの協xファイルpom.xmlを俐屎 このプロジェクト協xのHの協xをSpring Bootのものに崔きQえる。 <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>タグを弖紗
18.
Mavenプロジェクトの恬撹 ? プロジェクトの協xファイルpom.xmlを俐屎 Spring Bootの卆贋vSを弖。 <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>タグを弖紗
19.
Mavenプロジェクトの恬撹 ? プロジェクトの協xファイル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>タグを弖紗
20.
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! を茅 ブロックの_兵了崔を俐屎
21.
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を軟咾垢
22.
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に駅勣なアノテ`ション
23.
Mavenプロジェクトの恬撹 ? ビルドとg佩 ビルドする。 プロジェクトの協xを俐屎したので、 恷兜は弼?とダウンロ`ドが恠る。 # 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々と竃薦されればビルド撹孔。
24.
Mavenプロジェクトの恬撹 ? ビルドとg佩 g佩する。 g佩というか、Spring Bootの軟咾鯰个Α #
mvn spring-boot:run ゛゛゛嶄待゛゛゛ . ____ _ __ _ _ / / ___'_ __ _ _(_)_ __ __ _ ( ( )___ | '_ | '_| | '_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.1.5.RELEASE) 晩云Zh廠だとバックスラッシュがぅ洫`クとなるが、 仝Spring々と竃薦されれば軟啌氷Α Webサ`バが軟咾垢襪里如Ctrl+CでK阻する。 ここまででSpring Bootの児云議なh廠が竃栖た。
25.
Hello world ! ?
ここでやること Spring Bootで兜iの兜iなWebアプリを恬撹する。
26.
Hello world ! ?
プロジェクトの協xファイルpom.xmlを俐屎 テンプレ`トエンジンの卆贋vSを弖。 <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>タグ坪に テンプレ`トエンジンのタグを弖紗
27.
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メソッドをI尖することを傚冱 テンプレ`ト仝helloworld々を柵ぶ
28.
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
29.
Hello world ! ?
ビルドとg佩 ビルドする。 # mvn package [INFO] Scanning for projects... ゛゛゛嶄待゛゛゛ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ AいてSpring Bootを軟咾垢襦 # mvn spring-boot:run [INFO] Scanning for projects... [INFO] ゛゛゛嶄待゛゛゛ . ____ _ __ _ _ / / ___'_ __ _ _(_)_ __ __ _ ( ( )___ | '_ | '_| | '_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.1.5.RELEASE)
30.
Hello world ! ?
ブラウザでアクセス ブラウザを羨ち貧げて、和URLにアクセスする。 http://localhost:8080/hello 參和のようなペ`ジが燕幣されれば撹孔。
31.
Hello world ! ?
I尖の送れ 1.ブラウザがサ`バにリクエストを僕佚する。 2.サ`バがURL仝hello々をI尖するコントロ`ラを柵び竃す。 @Controller @RequestMapping("hello") public class Hello { @RequestMapping(method=RequestMethod.GET) public String sayHello() { 3.コントロ`ラがリクエストY惚を燕幣するテンプレ`トを卦す。 return "helloworld"; 4.テンプレ`トhelloworld.htmlがHTMLを卦す。 <body> Hello world! </body> 5.ブラウザがHTMLを燕幣する。
32.
まとめ ここまでがSpring Bootを聞ったシステムBのほんの秘笥で、 この枠にはビジネスロジックと喟A晒咾ある。 HTTPリクエスト コントロ`ラ ビジネスロジック デ`タ喟A晒 DB Spring Boot
Core Spring Data JPA テクノロジA咼皀妊
Download