기록

[튜토리얼] 의존성 주입(3) XML 본문

Web/Spring

[튜토리얼] 의존성 주입(3) XML

youngyin 2022. 9. 14. 00:37

1. 개요

스프링 컨테이너는 자바뿐아니라 XML이나 Groovy등 다양한 방식으로 스프링 컨테이너를 생성할 수 있다. 해당 포스팅에서는 기존 프로젝트(2022.08.29 - [Web/backend] - [튜토리얼] spring boot 게시판 curd)에 xml로 의존성을 설정하고, 테스트 해보고자 한다.

2. CODE

(1) file location

(2) source

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="noticeService" class="com.example.notice.NoticeService">
        <constructor-arg name="noticeDao" ref="noticeDao"/>
    </bean>
    
    <bean id="noticeDao" class="com.example.notice.NoticeDao"/>
</beans>

나머지는 이전(2022.09.12 - [Web/backend] - [튜토리얼] 의존성 주입(2) 자바코드)과 동일하게 작성되었다.

3. 결과

(1) TEST CODE

4. 마무리하면서

(1) 스프링 컨테이너

Spring에서 자바 객체를 관리하는 공간으로, 관리되는 객체는 Bean에 해당한다.

  • ApplicationContext나 BeanFactory를 스프링 컨테이너라고 한다.
  • ApplicationContext는 BeanFactory의 기능을 상속받는다.
  • ApplicationContext는 빈 관리기능 + 편리한 부가기능을 제공한다.

(2) 파일 구성

스프링 컨테이너는 다양한 형식의 설정 정보를 받아들일 수 있도록 유연하게 설계되어 있다. 파일의 구성은 Java Code(2022.08.30 - [작성중] - [튜토리얼] 의존성 주입(2)자바코드)와 동일하다. 또한 이를 통해 아래의 구조를 유추할 수 있다.

5. 참고한 자료

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8

Comments