Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はじめてのSpringBoot
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ふるてつ
April 01, 2019
Technology
0
480
はじめてのSpringBoot
【福岡】読んだ内容まとめてLT会#7 の発表資料です。
ふるてつ
April 01, 2019
Tweet
Share
More Decks by ふるてつ
See All by ふるてつ
ユニットテストとE2Eテストをdemoしたい件
furutetsu
0
280
Angularで簡単な画面を単体テストまで一通り作った件
furutetsu
1
1.3k
AngularとBootstrapを使った業務システムの設計について考えた。
furutetsu
1
2.4k
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
6.8k
20260204_Midosuji_Tech
takuyay0ne
1
150
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
410
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
270
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
240
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
240
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
59
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Between Models and Reality
mayunak
1
190
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Abbi's Birthday
coloredviolet
1
4.7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Designing Experiences People Love
moore
144
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
はじめてのSpring Boot 【福岡】読んだ内容まとめてLT会#7 2019.4.16
自己紹介 福岡のエンジニアです。 客先常駐するタイプです。 COBOL → VB6.0 → VB.net → Spring
BootなIT人生。 他 jQuery → AngularJS → Angular 定年後の夢は、年金をもらいながら自称IT発明家になることです。 ふるてつ@tetsufuru19681 https://tetsufuru.hatenablog.com/ ちょくちょく参加するコミュニティ
誰に紹介したいか 新人教育担当に この本を使って実習させると良いと思います。 1ヶ月もあれば終わります。 薄い本なので飽きないと思います。 Java経験者だが実は不安だという方に 業務部分のみ開発していてそれ以外の事が実はあまりよくわかっていない方。 昔
Struts とか Caesar は経験したけど Springはちょっと…という方。 普段、他の言語で開発しているがJavaも一応知っておきたい方に
内容 1章 「Spring Boot」とは 2章 速習「Spring Framework」 「Spring
Framework」によるDI 「Spring JDBC」によるDBアクセス 「Spring Data JPA」によるDBアクセス 3章 「Spring Boot」による「Webアプリ開発」 「Rest Webサービス」の開発 「Thymeleaf」を使った、「画面のあるWebアプリ」の開発 「Flyway」で「DBマイグレーション」 「Spring Security」で「認証」「認可」を追加 4章 Paas 「Cloud Foundry」にデプロイ 5章 「Spring Boot」におけるテスト
1章 「Spring Boot」とは 「Spring Framework 」の歴史 「Spring Framework」は、2003年に登場したJava
Framework 「DI」「AOP」で注目された。 「Spring Bootとは」 あらかじめおすすめのプロジェクトの組み合わせが含まれている。 自動で設定が有効になる。 組み込みサーバが同梱される。 「Spring Initializr」によるひな形プロジェクト作成 ひな形生成Webサービス(http://start.spring.io)でプロジェクト作成 ⇒ 勉強以外では使いません多分… Mavenの依存関係定義ファイル(pom.xml)の解説 「Hello World!」を出力するWebアプリケーションの作成 実行可能な「Jarファイル」の作成 「Spring Tool Suite」を利用した「Spring Boot」アプリケーションの開発 ⇒ EclipseにSTSプラグインを入れたほうが良い。 「Spring Dev Tools」(アプリケーションを起動したまま、Javaクラスの変更を動的に反映)
2章 速習「Spring Framework」 「Spring Framework」によるDI メリット インスタンスの「スコープ」を制御できる。
インスタンスの「ライフ・サイクル」をイベント制御できる。 共通的な処理を埋め込める。 オブジェクト間が疎結合になるため「ユニット・テスト」がしやすくなる。 「レイヤー化」した「コンポーネント」の「インジェクション」 アノテーション(@Component、@Controller、@Service、@Repository)を使用してプロジェクトを作成 Lombokを使用 「Spring JDBC」によるDBアクセス JDBC、H2、Lombokを使用してプロジェクトを作成 SQLログの設定(Log4JDBCの設定) 「Spring Data JPA」によるDBアクセス JPA、H2、Lombokを使用してプロジェクトを作成 ページング処理
3章 「Spring Boot」による「Webアプリ開発」 「REST Webサービス」の開発 「全件取得」「1件取得」APIを作成する(GET) 「新規作成」「1件更新」「1件削除」APIを作成する(POST、PUT、DELETE) 「「Thymeleaf」を使った、「画面のあるWebアプリ」の開発 Thymeleaf、JPA、H2、Lombokを使用してプロジェクトを作成(顧客情報のメンテナンス)
Flywayの設定方法(DBのバージョン管理) 「Spring Security」で「認証」「認可」 SecurityConfig、LoginUserDetail、LoginUserDetailsServiceクラスの使い方
作成するコードの例(Repository、Entity)
作成するコードの例(RestController、Service)
Spring Security
Flyway
「Thymeleaf」を使用したWebアプリの例 ログインと一覧画面、詳細画面 月並みな画面ですが勉強なので 多くは求めないでください
注意点 本の内容が少し古くなってきているので注意してください。 「STS」は使用しないほうが良い。 Eclipseに「STS」pluginをバージョン指定(1.4.0.RELEASE)して取り込んだほうが良い。 @AutoWiredは非推奨。いまはコンストラクターインジェクション。 Spring Securityも仕様が現在若干変わっている。
Basic認証の外し方がいまは違うなど。 本と同じバージョンを指定して取り込んだほうが良い(4.1.1.RELEASE) 「Spring Initializr」は正直使わなくてよい。 Eclipseのメニューから「新規」 ⇒ 「その他」 ⇒ 「Spring Boot 」 ⇒ 「Spring Bootスターター・プロジェクト」で新規作成 したほうがい良い。 「Spring Data JPA」は複雑なSQLを書くときにちょっと大変。 個人的にはMavenよりもGradleの方が使いやすい。
終わりに https://techacademy.jp/magazine/8735
ありがとうございました。