Dr. Springlove·ͨࢲԿʹͯ͠৺͢ΔͷΛࢭΊͯDIΛѪ͢ΔΑ͏ʹͳ͔ͬͨ
View Slide
ࣗݾհ: @zhanpon» ࣄ1. Spring BootͰϨίϝϯσʔγϣϯγεςϜ։ൃ» ࣄ2. ࣾͷֶಉձͷΦʔΨφΠβʔ
͜ͷLTͰ͍͑ͨ͜ͱ
"Dependency Injection: Principles,Practices, and Patterns"ͱ͍͏ຊ͕ૉΒ͍͠ͷͰհ͍ͨ͠ʂ
ग़ձ͍
ڈͷ4݄ࠒͳΜ͔มʹ@Autowired͚ͬͯͭΔͱϑϨʔϜϫʔΫ͕ͦͷػೳΛఏڙͯ͘͠ΕΔΒ͍͠ɻSpring Bootͬͯศརͩͳʙ
ڈͷ5݄ࠒʢͦͷ1ʣ͋͋ɺ·ͨjava.lang.IllegalStateException: Failed to loadApplicationͩʂΞϊςʔγϣϯͩΒ͚ͰԿΘ͔Βͳ͍ʔʔ
ڈͷ5݄ࠒʢͦͷ2ʣ;Ή;ΉɺDIͷઐॻ͕͋ΔΒ͍͠ɺಡΜͰΈΑ͏ɻ
ͦͯ͠……։؟
DIຊͷ͍͍ͱ͜Ζ1. ߟ͕ଟ໘త2. ϑϨʔϜϫʔΫʹཔΒͳ͍
ߟ͕ଟ໘త
ߟ͕ଟ໘తʮDI͚͖ͬͯͬΐ͘{ԆόΠϯσΟϯά,୯ମςετ}ͷͨΊʹ͋ΔΜͰ͠ΐʯΈ͍ͨͳ୯७ͳ݁ʹඈͼ͔ͭͳ͍
ߟ͕ଟ໘త͜ͷຊͰ3ͭͷ࣠Ͱߟ͞Ε͍ͯΔ1. Object Composition2. Object Lifetime3. 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൛
C#ͷຊͰͨ͠ʂ ͝ΊΜͳ͍͞ʂʂ