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
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.7k
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
150
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
160
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Agile Leadership Summit Keynote 2026
m_seki
1
560
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
210
Greatest Disaster Hits in Web Performance
guaca
0
110
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
What does AI have to do with Human Rights?
axbom
PRO
0
2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
200
AI: The stuff that nobody shows you
jnunemaker
PRO
2
250
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
A Soul's Torment
seathinner
5
2.2k
Abbi's Birthday
coloredviolet
1
4.7k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
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#ͷຊͰͨ͠ʂ ͝ΊΜ ͳ͍͞ʂʂ