2020.04.08 처음부터, 스프링 - DI

DI, Dependency Injection

1. Define the dependency interface and class.
2. Create a constructor in class for injections.

(일단은 xml로 bean을 관리하는 방식만 배운 상태이다.)

먼저 XML에 모델(Bean)을 선언한다.

모델에서 사용하고자 하는 다른 클래스(혹은 다른 모델)가 있다면, 모델의 생성자에 다른 클래스를 추가한다.

그러면 모델을 초기화할 때 그 모델의 생성자에 추가해 둔 다른 클래스의 메소드를 사용할 수 있게 된다.
강의에서는 이해를 돕기 위해 dependency=helper라는 문구가 자주 나왔다.

거창하게 번역하면 의존성 주입인데, 앱에서 모델을 만들어서 사용하는 것이 아니고 Spring Container가 만든 채로 모델을 전달하는 방식이라고 생각하면 될 것 같다.

파이썬으로 치면 class A의 생성자가 class B의 메소드를 사용하기 위해, A의 생성자에 class B를 인자로 전달해서 실행하는 방식과 같다.

확실히 특이하긴 한데 아직까지 크게 효용성이 느껴지지는 않는다.

댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용