DI를 통한 테스트하기 쉬운 코드 만들기
qlsdud0604 opened this issue · comments
- 싱글톤 패턴을 제거하고 의존관계를 DI 구조로 변경
- QnaService 클래스
- Controller 구현체
- AnswerDao, QuestionDao 클래스
- LegacyHandlerMapping 클래스
- 핵심 비즈니스 로직을 도메인 객체가 담담하도록 변경
- Question 클래스
- Answer 클래스
- QnaService 클래스
- 각 클래스 역할에 맞도록 애너테이션 설정
- Controller
- Service
- Repository
- Inject
- 의존관계에 있는 각 클래스의 빈 인스턴스를 생성하는 BeanFactory 클래스 생성
- 애너테이션 설정이 되어있는 빈을 찾는 BeanScanner 클래스 생성