1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初めてのSpringBoot(DI)

Last updated at Posted at 2019-05-13

#はじめに
新卒として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の練習として投稿してみました。
新卒なのでまだまだ未熟ですが、
これから少しずつアウトプットを増やして質を高めていきたいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?