This is personal study note
Copyright and original reference are from:
www.youtube.com/watch?v=S065KRjXRSY
스프링 프레임워크 강의 12강 - 어노테이션을 이용할 때의 장점과 @Autowired를 이용한 DI 해보기
스프링_프레임워크_강의_12강_어노테이션을_이용할_때의_장점과_@Autowired를_이용한_DI_해보기
================================================================================
- 객체를 생성하고, DI 작업을 하기위해서, 스프링은 IoC 컨테이너를 가지고 있음
- 스프링이 xml 파일을 읽는다
- exam 객체를 만든다
- console 객체를 만듦
- dependency (ref="exam") 를 setter 함수 (name="exam") 에 injection 함
================================================================================
- Injection (property 부분) 없애면 화살표 (결합) 없어짐
================================================================================
- 스프링이 @Autowired 읽으면 결합이 복구됨
- 스프링이 안읽을수도 있는게 문제
- xml 보면 객체 생성은 있는데, 코드 내에 어노테이션 있다고는 안함
- 객체 속을 스프링이 들여다보게 설정할 수 있음
- 저 설정 있으면 스프링이 객체 만들고, 객체 안에 어노테이션 있는지 확인함
================================================================================
- 스프링이 @Autowired 부분 읽음
- exam 객체를 IoC 컨테이너에서 자동으로 찾아서, 여기에 넣어라
================================================================================
- 화살표가 살아남
- 궁금한 사항:
- IoC 컨테이너에서 찾을때, 뭘로 기준으로 찾을까?
- 자료형 Exam?
- 이름 exam?
- 이름하고는 상관없음
================================================================================
- 재밌는것은 형식명칭이 같지 않다
- NewlecExam
- Exam
- Exam 과 부합될수 있는 객체를 찾아서 바인딩한다는 의미임
================================================================================
- 호기심
- 객체가 두개있을때
- 에러
- 모호해서 못함
================================================================================
- 하나에는 이름 (exam) 부여
- 동작함
================================================================================
- @Qualifier 가 사용되는 상황