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
490
0
Share
はじめてのSpringBoot
【福岡】読んだ内容まとめてLT会#7 の発表資料です。
ふるてつ
April 01, 2019
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
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
260
AIエージェントの権限管理 1: MCPサーバー・ツールの Fine grained access control 編
ren8k
3
480
DevOpsDays Tokyo 2026 軽量な仕様書と新たなDORA AI ケイパビリティで実現する、動くソフトウェアを中心とした開発ライフサイクル / DevOpsDays Tokyo 2026
n11sh1
0
150
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
310
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
120
KGDC_13_Amazon Q Developerで挑む! 13事例から見えたAX組織変革の最前線_公開情報
kikugawa
0
110
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
240
みんなで作るAWS Tips 100連発 (FinOps編)
schwrzktz
1
260
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
7.2k
AI時代にデータ基盤が持つべきCapabilityを考える + Snowflake Data Superheroやっていき宣言 / Considering the Capabilities Data Platforms Should Have in the AI Era + Declaration of Commitment as a Snowflake Data Superhero
civitaspo
0
110
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Everyday Curiosity
cassininazir
0
190
Accessibility Awareness
sabderemane
0
99
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
420
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
880
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
270
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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
ありがとうございました。