#author("2021-04-28T02:47:45+00:00","","")
#author("2021-04-28T02:56:08+00:00","","")
[[KobeSpiral2021]]

* SpringBoot [#q1dde548]

- SpringBootを用いたWebアプリケーション開発に関する情報をまとめたページ
- 本ページの情報は2021/04/28の時点でcs27 wikiに纏められた情報より抜粋したものである
- 皆の者、中村先生・中井先生・中田先生に感謝せよ

* SpringBootの概要 [#j31905f7]

 Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".(公式引用)
- 手軽にwebアプリケーションを作成することのできるフレームワークのこと
- フレームワークとは...
--  「アプリケーションはこのように開発すべし」という基本的な設計方針を,再利用可能なクラスによって示したもの
-- 開発者はパーツ(画面、ロジックなど)を作って「枠組み」に埋め込むことで、意図通りの処理を行う。

** SpringBootのメリット [#bd9973c2]
- Webアプリケーションを、より「迅速」「簡単」に開発出来る
- プログラム1つ1つを独立させやすく,変更に強い
- 面倒な設定の記述、依存関係をいい感じにやってくれる

** SpringBootのデメリット [#a202c57d]
- 概念(特にレイヤーの考え方)が複雑
- 勉強コストは高い


* 学習する順番のススメ [#l3d4c99e]


+ 全体像.各レイヤの役割を知ろう.
-- [[SpringBoot/各レイヤの責務]]
+ レイヤ間でやり取りするデータ (Entity, Form, DTO)を理解しよう.
-- [[SpringBoot/DTO]]
+データの永続化について.DB設定,@Repository を理解しよう.
-- [[SpringBoot/JPA]]
+ 入力データのチェック(バリデーション)は,コントローラ層でやろう
-- [[SpringBoot/バリデーション]]
+ テンプレートエンジン Thymeleaf を使って,画面を作ろう
-- [[SpringBoot/Thymeleaf]]
+ 例外の投げ方,受け方を知ろう
-- [[SpringBoot/例外処理]]
+ (発展)テストしてみよう.
-- [[SpringBoot/テスト]]
+ (発展)設定を外部から入れてみよう
-- [[SpringBoot/外部設定値]]



- 何かおかしかったら...
-- build.gradleは合ってるか? [[SpringBoot/依存]]
-- 開発環境をチェック. [[SpringBoot/開発]] [[SpringBoot/関連技術情報]]

* サブページ [#o0ab816e]

#ls()

* トラブルシューティング [#j3631999]

- [[SpringBoot/各レイヤの責務]]
- [[SpringBoot/DTO]]
- [[SpringBoot/Thymeleaf]]
** 何かおかしかったら... [#f1a7f006]
- build.gradleは合ってるか? [[SpringBoot/依存]]
- 開発環境をチェック. [[SpringBoot/開発]] [[SpringBoot/関連技術情報]]

- [[SpringBoot/JPA]]
- [[SpringBoot/バリデーション]]
- [[SpringBoot/関連技術情報]]

- [[SpringBoot/例外処理]]

* サブページ [#o0ab816e]

#ls()

** 全部入りのdependencies [#uf1c735d]

Spring Initializrで当面必要そうなものを全部入れた場合の
dependenciesセクションの内容を書いておく.

何かおかしかったら,自分のbuild.gradleにこれをコピペするとよかろう.

 dependencies {
 	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
 	//セキュリティ入れる場合は↓を外す
 	// implementation 'org.springframework.boot:spring-boot-starter-security'
 	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
 	implementation 'org.springframework.boot:spring-boot-starter-validation'
 	implementation 'org.springframework.boot:spring-boot-starter-web'
 	compileOnly 'org.projectlombok:lombok'
 	developmentOnly 'org.springframework.boot:spring-boot-devtools'
 	runtimeOnly 'mysql:mysql-connector-java'
 	annotationProcessor 'org.projectlombok:lombok'
 	testImplementation('org.springframework.boot:spring-boot-starter-test') {
 		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
 	}
 	//testImplementation 'org.springframework.security:spring-security-test'
 }

*** 入っているもの [#sa2d1ab0]
- Spring-Data-JPA
- Spring-Security
- Thymeleaf
- Validation
- Web
- Spring-Boot Devtools
- MySQL
- Lombok

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS