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
Dr. Springlove
Search
zhanpon
May 18, 2019
Technology
0
460
Dr. Springlove
zhanpon
May 18, 2019
Tweet
Share
More Decks by zhanpon
See All by zhanpon
Understanding Coroutines
zhanpon
0
58
DDD and Spring Boot
zhanpon
0
2k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
220
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
160
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
400
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
180
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
2.1k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
130
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
440
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
140
Featured
See All Featured
Between Models and Reality
mayunak
1
190
RailsConf 2023
tenderlove
30
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
110
Documentation Writing (for coders)
carmenintech
77
5.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
BBQ
matthewcrist
89
10k
Facilitating Awesome Meetings
lara
57
6.8k
Designing for Performance
lara
610
70k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Odyssey Design
rkendrick25
PRO
1
490
Transcript
Dr. Springlove ·ͨࢲԿʹͯ͠৺͢ΔͷΛࢭ ΊͯDIΛѪ͢ΔΑ͏ʹͳ͔ͬͨ
ࣗݾհ: @zhanpon » ࣄ1. Spring BootͰϨίϝϯσʔγϣϯγεςϜ։ൃ » ࣄ2. ࣾͷֶಉձͷΦʔΨφΠβʔ
͜ͷLTͰ͍͑ͨ͜ͱ
"Dependency Injection: Principles, Practices, and Patterns"ͱ͍͏ຊ͕ ૉΒ͍͠ͷͰհ͍ͨ͠ʂ
None
ग़ձ͍
ڈͷ4݄ࠒ ͳΜ͔มʹ@Autowired͚ͬͯͭΔͱϑϨʔϜϫʔΫ͕ͦͷػೳΛఏڙ ͯ͘͠ΕΔΒ͍͠ɻSpring Bootͬͯศརͩͳʙ
ڈͷ5݄ࠒʢͦͷ1ʣ ͋͋ɺ·ͨjava.lang.IllegalStateException: Failed to load ApplicationͩʂΞϊςʔγϣϯͩΒ͚ͰԿΘ͔Βͳ͍ʔʔ
ڈͷ5݄ࠒʢͦͷ2ʣ ;Ή;ΉɺDIͷઐॻ͕͋ΔΒ͍͠ɺಡΜͰΈΑ͏ɻ
ͦͯ͠……։؟
DIຊͷ͍͍ͱ͜Ζ 1. ߟ͕ଟ໘త 2. ϑϨʔϜϫʔΫʹཔΒͳ͍
ߟ͕ଟ໘త
None
ߟ͕ଟ໘త ʮDI͚͖ͬͯͬΐ͘{ԆόΠϯσΟϯά,୯ମςετ}ͷͨΊʹ͋ΔΜͰ ͠ΐʯΈ͍ͨͳ୯७ͳ݁ʹඈͼ͔ͭͳ͍
ߟ͕ଟ໘త ͜ͷຊͰ3ͭͷ࣠Ͱߟ͞Ε͍ͯΔ 1. Object Composition 2. Object Lifetime 3. Interception
ϑϨʔϜϫʔΫʹཔΒͳ͍ » Part 1: DIͷશମ૾ » Part 2: Χλϩά »
Part 3: ७ਮͳDI » Part 4: DIίϯςφ
ϑϨʔϜϫʔΫʹཔΒͳ͍ » Ch. 10: Aspect-Oriented Programming by design » Ch.
11: Tool-based Aspect-Oriented Programming
ϑϨʔϜϫʔΫʹཔΒͳ͍ ʮͳΜ͔ΨνϟΨνϟΞϊςʔγϣϯ͚ͨΒͬͨʯͱ͍͏ࢥߟ͔Β ൈ͚ग़ͤͨɻ
ͱ͜ΖͰ…
ୈ1൛
None
C#ͷຊͰͨ͠ʂ ͝ΊΜ ͳ͍͞ʂʂ