ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 빈 생성 방법
    기술/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
    빈 생성 방법  (0) 2022.08.05

    댓글 0

Designed by Tistory.