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
450
Dr. Springlove
zhanpon
May 18, 2019
Tweet
Share
More Decks by zhanpon
See All by zhanpon
Understanding Coroutines
zhanpon
0
55
DDD and Spring Boot
zhanpon
0
2k
Other Decks in Technology
See All in Technology
多野優介
tanoyusuke
1
480
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
360
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.2k
「Verify with Wallet API」を アプリに導入するために
hinakko
1
260
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
130
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
160
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
400
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
330
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
240
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
170
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
130
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.6k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
GitHub's CSS Performance
jonrohan
1032
470k
4 Signs Your Business is Dying
shpigford
185
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Optimizing for Happiness
mojombo
379
70k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Code Reviewing Like a Champion
maltzj
525
40k
Automating Front-end Workflow
addyosmani
1371
200k
BBQ
matthewcrist
89
9.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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#ͷຊͰͨ͠ʂ ͝ΊΜ ͳ͍͞ʂʂ