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
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
Agile Leadership Summit Keynote 2026
m_seki
1
610
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Red Hat OpenStack Services on OpenShift
tamemiya
0
100
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
180
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
190
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.3k
Tebiki Engineering Team Deck
tebiki
0
24k
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
150
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
240
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
640
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
170
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
0
230
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Exploring anti-patterns in Rails
aemeredith
2
250
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Leo the Paperboy
mayatellez
4
1.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Are puppies a ranking factor?
jonoalderson
1
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
ありがとうございました。