#はじめに
新卒としてWeb系企業に入り研修が始まりました。
その一環でSpringBootを用いた研修があったので、備忘録として残したいと思います。
はじめてのQiita投稿なので生暖かい目で見ていただけると嬉しいです。
ご指摘大歓迎ですのでよかったらコメントください。
##DI(Dependency Injection)
デザインパターン(設計思想)の一種。
依存性の注入という意味らしい。
何がどうなるかというと
Sample.java
Test test;
Sample(){
test = new Test();
}
これが下のようになる
Sample.java
Test test;
Sample(Test test){
this.test = test;
}
- インスタンスを自分で作るか、作ったものを受け取るかという違いがある。
- インスタンスとは今回のtestである。
- これならTestクラスができてなくても開発できるなどのメリットがある。
- 正直開発現場に入ったことのない自分にはいまいちピンとこなかった分野でもある。
参考:クラスとインスタンスの違い
参考:SpringのDIとAOPの簡潔な説明
##DIコンテナ
DIを実装しようとすると
- インスタンスは呼び出し元でたくさん作らないと行けないからコード量が増えそう
- そこで登場DIコンテナ
- DIコンテナはインスタンスを自動で注入してくれる
DIコンテナを使うと
Sample.java
Test1 test1;
Test2 test2;
Test3 test3;
Sample(Test1 test1,Test2 test2,Test3 test3){
this.test1 = test1;
this.test2 = test2;
this.test3 = test3;
}
これが下のようになる
Sample.java
@Autowired
Test1 test1;
@Autowired
Test2 test2;
@Autowired
Test3 test3;
実際に使うとなると各種クラスファイルにそれぞれアノテーションをつける必要がある。
詳しい使い方はこちら
##まとめ
今回はqiitaの練習として投稿してみました。
新卒なのでまだまだ未熟ですが、
これから少しずつアウトプットを増やして質を高めていきたいです。