본문으로 바로가기

토비의 스프링, 빈 등록과 의존관계

category Backend/Spring 2017. 11. 7. 12:26
    반응형

    참고문헌

    : 토비의 스프링



    XML 태그

    <bean> 과 <property>를 사용해서 빈 오브젝트를 설정한다.


    이와 어플리케이션 컨텍스트에서 사용하는 포인트컷 등록을 구별하기 위해서


    별도의 네임스페이스를 사용하여 aop 빈을 등록 해준다. (<bean>으로도 등록이 가능하다.)


    이외에도 다양한 태그를 스프링에서 제공해준다.


    어노테이션


    : 어노테이션의 경우 xml을 사용하여 수동으로 빈을 관리하는 번거로움을 피할 수 있다.


    : 하지만 빈 생성 및 관계를 하나의 파일에서 관리하기 어렵다.


    : 어노테이션의 빈 아이디는 맨 앞이 소문자인 클래스 이름이다.


    1. 스테레오타입 어노테이션의 종류

    : @Repository - 데이터 액세스 계층

    : @Service - 서비스 계층

    : @ Controller - 컨트롤러 계층

    : @ Component - 미분류, 기타

    : 어노테이션을 분리하는 이유는 특정 계층에 부가기능을 부여해줄 수 있다.



    스프링 코드

    : @Configuration, @Bean

    : @Configuration 에 @Component 어노테이션이 붙어있다.

    : 기본 자바코드와는 다른 BeanDefinition을 반환해주는 메타정보라고 이해하는 것이 좋다.

    : @Bean이 붙은 함수가 new 키워드로 매번 새로이 생성하는 객체를 반환한다고 생각할 수 있지만, @Configuration 을 통해 조작된 메소드로 싱글톤 객체를 반환한다.

    : @Bean 메소드의 추가 설정정보가 없을 시 반환하는 객체가 싱글톤이기 때문이다.


    의존관계

    : 의존관계는 모든 빈이 만들어 진 후 후처리를 통해서 의존관계가 생성된다.


    1. XML 단독

    2. XML과 어노테이션 설정의 혼합

    3. 애노테이션 단독

    반응형