※ 제작 전반에 관해 고민해본 내용들은 https://zz9z9.github.io/posts/my-di-container/ 참고해주세요
- 순수 자바코드로 스프링 DI Container를 구현해보면서 DI의 필요성, 스프링 컨테이너 동작 원리 등을 이해해보기 위해
- SRP, DIP, OCP를 지킨 좋은 설계를 가능하게 해주기 때문에 변화에 유연하게 대처할 수 있다.
- AppConfig 파일에 등록된 메서드 기반으로 빈 등록 (싱글턴 패턴 사용하지 않고 하나의 인스턴스만 생성되도록 보장)
- 등록된 빈 가져오기 (예외처리 : NoSuchBeanDefinitionException, NoUniqueBeanDefinitionException)
- 메서드 파라미터 : 빈 이름 or 빈 이름 & 클래스/인터페이스 타입 or 클래스/인터페이스 타입
- 등록된 빈 이름, 개수 조회