너와 나의 프로그래밍
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>에 등록해 관리 할 수 있다.
참조 : 스프링 퀵 스타트
반응형
'Back-End > Spring Framework' 카테고리의 다른 글
Spring Framework - Spring AOP의 개념과 용어 (0) | 2020.07.27 |
---|---|
Spring Framework - Annotation 기반 설정 - 2 (0) | 2020.07.12 |
Spring Framework - Annotation 기반 설정 - 1 (2) | 2020.07.11 |
Spring Framework - 의존성 주입 방식 (0) | 2020.07.08 |
Spring Framework - 파일 다운로드 구현 시 다국어(글자) 깨지는 현상 (0) | 2019.01.03 |