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
ふるてつ
April 01, 2019
Technology
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
はじめてのSpringBoot
【福岡】読んだ内容まとめてLT会#7 の発表資料です。
ふるてつ
April 01, 2019
More Decks by ふるてつ
See All by ふるてつ
ユニットテストとE2Eテストをdemoしたい件
furutetsu
0
290
Angularで簡単な画面を単体テストまで一通り作った件
furutetsu
1
1.4k
AngularとBootstrapを使った業務システムの設計について考えた。
furutetsu
1
2.5k
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
260
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.8k
モバイルアプリ開発概論2026
recruitengineers
PRO
5
600
JavaScript 研修 (2026)
recruitengineers
PRO
2
550
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
390
FDEの心得
noriakioji
5
6k
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
120
猫付きpingコマンドを自作
uyuki234
0
240
私がブラウザを自作したくなった理由
supurazako
1
240
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
780
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
30 Presentation Tips
portentint
PRO
1
370
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Discover your Explorer Soul
emna__ayadi
2
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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
ありがとうございました。