너와 나의 프로그래밍

Spring Framework - 스프링 컨테이너(Spring Container) 본문

Back-End/Spring Framework

Spring Framework - 스프링 컨테이너(Spring Container)

Whatever App's 2020. 7. 6. 08:06

 

 

 

 

[Spring] 스프링 컨테이너(Spring Container)

 

 

 

Spring Framework는 'IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크'라는 개념에 걸맞게 컨테이너의 역할이 정말 중요하다.

 

 

Spring Framework의 IoC 컨테이너는 비지니스 컴포넌트를 작성할 때 가장 중요한 '낮은 결합도(Ioc)와 높은 응집도(AOP)'의 개념 중 '낮은 결합도'를 유지해주며 자바 소스코드에서 수정하지 않아도 컨테이너에서 처리하므로 **'낮은 결합도'**의 컴포넌트를 구현할 수 있다.

 

 

대부분의 IoC 컨테이너는 각 컨테이너에서 관리할 객체들을 위한 설정 파일이 있다. 예를들어 Servlet 컨테이너는 web.xml 같이 Spring Framework도 클래스 관리를 위한 XML 파일을 만들어줘야한다.

 

 

(스프링 컨테이너에서 사용하는 XML의 기본적인 구조)

 

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

<Beans>

 

  • Spring Container는 무조건 <Beans>를 Root Element로 사용해야 한다.
  • <bean>의 생명주기를 관리하고 여러가지 서비스를 제공한다.
  • <bean>, <description>, <alias>, <import>등 자식 엘리먼트를 사용 할 수 있다.

 

<Bean>

 

  • 스프링 설정 파일에 클래스를 등록하려면 <Bean> 엘리먼트를 사용해야 한다.
  • <Bean> 엘리먼트의 id 속성은 생략할 수 있지만 class 속성은 생략할 수 없다.
  • id 속성은 컨테이너로부터 <bean> 객체를 요청할 때 사용하므로 반드시 유일한 값을 입력해야 한다.
  • class 속성은 '패키지의 경로와 클래스 이름'을 정확하게 등록해야한다.

 

<Import>

 

  • 트랜젝션 관리, 예외 처리, 다국어 처리 등 복잡하고 다양한 설정을 할 수 있다.
  • 작성한 XML 설정 파일을 한꺼번에 <beans>에 등록해 관리 할 수 있다.

 

 

 

 

 

 

참조 : 스프링 퀵 스타트

 

반응형