1. 오브젝트와 의존관계 - XML을 이용한 설정

이유석·2022년 3월 29일
0

Book - Toby's Spring

목록 보기
8/20
post-thumbnail

1.8 XML을 이용한 설정

스프링은 자바 클래스를 이용하는 것 외에도, 다양한 방법을 통해 DI의존관계 설정정보를 만들 수 있다.
가장 대표적인 것이 바로 XML이다.

XML 특징

  • 텍스트 파일이기 때문에 다루기 쉽다.
  • 쉽게 이해할 수 있다.
  • 컴파일과 같은 별도의 빌드 작업이 없다.
  • 환경이 달라져서 오브젝트의 관계가 바뀌는 경우에도 빠르게 변경사하을 반영할 수 있다.
  • 스키마나 DTD를 이용해서 정해진 포맷을 따라 작성됐는지 손쉽게 확인할 수 있다.

    DTD : Document Type Definition (문서 형식 정의)

1.8.1 XML 설정

DI정보가 담긴 XML 파일은 〈beans〉를 루트 엘리먼트로 사용한다.

  • 〈beans〉 안에는 여러 개의 〈bean〉을 정의할 수 있다.
  • @Configuration 을 〈beans〉 , @Bean 을 〈bean〉에 대응해서 생각하면 된다.

@Bean 메소드를 통해 얻을 수 있는 빈의 DI정보

  • 빈의 이름 : @Bean 메소드 이름이다. getBean( )에서 사용된다.
  • 빈의 클래스 : 빈 오브젝트를 어떤 클래스를 이용해서 만들지를 정의한다.
  • 빈의 의존 오브젝트 : 빈의 생성자 메소드를 통해 의존 오브젝트를 넣어준다.

XML에서 〈bean〉 을 사용해도 이 세 가지 정보를 정의할 수 있다.

자바 코드 설정정보XML 설정정보
빈 설정파일@Configuration〈beans〉
빈의 이름@Bean methodName()〈bean id="methodName"〉
빈의 클래스return new BeanClass();〈bean class="...BeanClass"〉
빈의 의존 오브젝트this.connectionMaker = connectionMaker()〈bean ... 〉 〈property name="connectionMaker" ref="connectionMaker" /〉 〈/bean〉

XML에서의 의존관계 설정

<beans>
    <bean id="myConnectionMaker" class="springboook.use.dao.DConnectionMaker" />
    
    <bean id="userDao" class="springbook.user.dao.UserDao">
        <property name="connectionMaker" ref="myConnectionMaker"/>
    </bean>
</beans>

소스코드 : github

profile
https://github.com/yuseogi0218

0개의 댓글