🔹 1. 기술 지원 빈: 기술적인 문제 혹은 공통 관심사(AOP)를 처리할 때 주로 사용한다. 데이터베이스 연결이나 공통 로그 처리 같은 업무 로직을 지원하기 위한 하부 기술이나 공통 기술이다.
🔹 2. 업무 로직 빈: 웹을 지원하는 컨트롤러, 핵심 비지니스 로직이 있는 서비스, 데이터 계층의 로직을 처리하는 리포지토리 등이 있다. 보통 비지니스 요구사항을 개발할 때 추가, 변경된다.
🔹 기술 지원 로직에 사용된다.
🔹 기술 지원 로직은 업무 로직에 비해 그 수가 매우 적고 애플리케이션 전반에 걸쳐 광범위하게 영향을 미친다.
🔹 수동 등록 빈으로 등록해서 설정 정보에 바로 나타나게 하는 것이 유지보수에 좋다.
🔹 업무 지원 로직에 사용된다.
🔹 수가 굉장히 많으며 한번 개발하면 컨트롤러, 서비스, 리포지토리 같이 유사한 패턴이 존재한다.
🔹 이런 경우 자동 기능을 사용하면 어떤 곳에서 문제가 발생했는지 명확하게 파악하기 쉽다.
🔸 자동 기능을 기본으로 사용
🔸 직접 등록하는 기술 지원 객체는 수동 등록
🔸 다형성을 활용하는 비지니스 로직은 수동 등록 고민(DiscountPolicy의 Map<String,DiscountPolicy> 주입 받는 상황에서 다른 개발자의 입장 고려)