-
[스프링 인 액션] Chapter 1 - 스프링 시작하기 :: 스프링이란?개발서적읽기/Spring in Action 제 5판 2020. 7. 28. 13:29
■스프링 애플리케이션 컨텍스트
스프링은 스프링 애플리케이션 컨텍스트라는 컨테이너를 제공한다.
이 컨테이너는 컴포넌트들을 생성하고 관리한다.
그리고 컴포넌트 또는 빈들은 스프링 애플리케이션 컨텍스트내부에서
서로 연결되어 완전한 애플리케이션을 만든다.
이 상호 연결은 의존성 주입이라고 알려진 패턴을 기반으로 수행된다.
즉 컴포넌트와 컴포넌트가 의존하는 관계를
스프링 애플리케이션 컨텍스트라는 컨테이너가 담당하여 수행한다.
스프링 애플리케이션 컨텍스트는 모든 컴포넌트의 생성, 관리를 담당하고
해당 컴포넌트를 필요로 하는 빈에 주입(연결)한다.
■스프링의 자동-구성
스프링은 스스로 컴포넌트들을 구성한다. 이 기능을 자동-구성이라고 한다.
스프링의 자동-구성 기능 덕분에 스프링을 사용하는 개발자는
별도의 빈 상호 연결 작업을 하지 않아도 된다.
자동-구성은 컴포넌트 검색과 자동 연결이라는 스프링 기법을 기반으로 한다.
스프링은 컴포넌트 검색을 사용하여 자동으로 애플리케이션의 classpath에 지정된
컴포넌트를 찾은 후 스프링 애플리케이션 컨텍스트의 빈으로 생성한다.
또한 스프링은 자동 연결을 사용하여 의존 관계가 있는 컴포넌트를
자동으로 다른 빈에 주입한다.
최근에는 스프링 부트가 등장하면서 자동-구성 기능이 더욱 향상되었다.
스프링 부트는 생산성 향상을 위해 스프링 프레임워크를 확장하여 만들어진 프레임워크다.
이 향상된 자동-구성 기능은 환경 변수인 classpath를 기준으로
어떤 컴포넌트가 생성되고 연결되어야 하는지 파악한다.
스프링 부트의 자동-구성은 애플리케이션을 빌드하는 데 필요한
별도의 구성 코드를 현격히 줄여준다.
스프링 부트 없이는 스프링 애플리케이션 개발을 상상하기 어려울 정도로
스프링 부트는 스프링 애플리케이션 개발을 향상시킨다.
또한 스프링 부트는 톰캣을 내장하고 있기 때문에 별다른 서버 설치를 필요할 필요가 없다.
xml 또는 java 파일을 사용하여 빈을 직접 생성하거나 직접 상호 연결할 수도 있다.
xml 기반 구성에 비해 java 기반 구성은 아래와 같은 장점들을 가지고 있다.
1. 어플리케이션 비지니스 로직과 설정 코드를 동일한 언어로 관리 가능하여 간편하다.
2. 가독성이 좋다
3. 자바 코드이기 때문에 IDE 자동완성 기능을 사용하여 오타를 방지할 수 있다.
4. 자바 설정 코드에 break point를 걸어서 디버깅할 수 있다.
'개발서적읽기 > Spring in Action 제 5판' 카테고리의 다른 글
[스프링 인 액션] Chapter 2 - 웹 애플리케이션 개발하기 :: 폼 입력 유효성 검사하기 (0) 2020.07.28 [스프링 인 액션] Chapter 2 - 웹 애플리케이션 개발하기 :: 폼 제출 처리하기 (0) 2020.07.28 [스프링 인 액션] Chapter 2 - 웹 애플리케이션 개발하기 :: 정보 보여주기 (0) 2020.07.28 [스프링 인 액션] Chapter 1 - 스프링 시작하기 :: 스프링 애플리케이션 작성하기 (0) 2020.07.28 [스프링 인 액션] Chapter 1 - 스프링 시작하기 :: 스프링 애플리케이션 초기 설정하기 (0) 2020.07.28 댓글