-
빈 생성 방법기술/Java - 강의 정리 2022. 8. 5. 13:18
빈 생성 방법
Bean, Configuration
수동으로 빈 컨테이너에 등록하는 방식이다.
@Configuration public class ResourceConfig { @Bean public Resource resource() { return new ResourceImpl(); } }
Component
Component 어노테이션이 붙어있는 클래스를 찾아 자동으로 등록해주는 컴포넌트 스캔 기능을 이용해 등록하는 방식이다.
@Component class ResourceImpl() { }
기본적으로 같은 패키지 하위의 Component 를 모두 찾아낸다. 스프링부트도 이 방법을 기본적으로 제공한다.
자동, 수동 실무 운영 기준
애플리케이션은 크게 업무 로직과 기술 지원 로직으로 나눌 수 있다.
업무 로직 빈
컨트롤러, 서비스, 리포지토리로 비즈니스 요구사항을 개발할 때 사용하는 것을 말한다.
업무 로직은 숫자도 많고 보통 유사한 패턴으로 개발하게 된다. 이런 경우 자동 등록을 사용하는 것이 좋다.
기술 지원 빈
기술적인 문제나 공통 관심사를 처리할 때 주로 사용한다. 데이터베이스 연결이나, 공통 로그 처리 처럼 업무 로직을 지원하기 위한 하부 기술이나 공통 기술이다.
기술 로직은 업무 로직과 비교해서 수가 적고, 애플리케이션 전반에 영향을 미친다.
비즈니스 로직 중 다형성을 적극 사용할 때
조회한 빈이 모두 필요할 때 Map<String, DiscountPolicy> 에 주입 받는 상황을 생각했을 때 DiscountPolicy 에 어떤 구현체가 들어올 지 한눈에 파악하기 어렵다.
이 때는 수동 주입을 통해 명확히 드러내주는게 좋다.
'기술 > Java - 강의 정리' 카테고리의 다른 글
빈 스코프 (0) 2022.08.05 빈 생명주기 콜백 (0) 2022.08.05 의존 관계 주입 방법 (0) 2022.08.05