Spring Frameworkでよく見かけるDependency Injection(DI)って

よく、直訳で「依存性の注入」なんて書いてあるとさ、不法なお薬を注射してるみたいでピンと来なくて、本を読みながら自分なりに考えた。

実装や継承なんかでそのインターフェースや親クラスに依存している、っていう言い方するよね。

その依存性の方向性を逆にすること、なんじゃないかな。だから@Componentアノテーションを付け替えるだけでプログラムを修正できる。DIの仕組みが無いと呼び出し側のコードの中で、名前を変更しないといけない。使う側の変更箇所が無くなる。

newでインスタンス生成しなくてよくなる。@Autowiredで注入(インスタンス生成)させたいところを指定する。

 

認識あってるかなぁ?