공부하는 블로그

Spring 이란? 본문

Develop/Spring

Spring 이란?

모아&모지리 2018. 3. 6. 10:26

Spring

- 사실상 업계 표준 프레임 워크

Maven

- Spring을 사용하기 위해 Maven Build가 필요

Spring의 의존 라이브러리를 간편하게 추가 할 수 있도록 의존성 주입을 제공

- 그 외 오픈 소스 라이브러리도 Maven Repository에 업로드 함으로써 대부분의 라이브러리를 자동으로 추가 가능

- 프로젝트의 구조를 자동으로 구성

- Build를 통해 배포를 위한 파일을 생성

Spring = DI Framework = IoC Framework

DI / IoC

- JAVA의 Class 상속/Interface를 이용한 추상화를 기반으로 하는 개발 방법

- Spring은 아래 DI / IOC를 강력하게 지원하는 프레임 워크

DI : Dependency Injection (의존성 주입)

- 프로그램에 필요한 각종 클래스들을 Bean Container에 두고 필요할 때마다 불러와서 사용

- 완벽한 싱글톤 객체(빈 스코프에 따라 다름) -> Read만 가능 Write불가-> 복제 불가

IoC : Inversion of Control (제어의 역전)

- 프로그램이 흘러가는 순서를 변경 가능

- DI는 IoC 패턴의 구현체 중 하나

- DI에 따라 프로그램의 흐름이 완전히 변경

- Spring은 DI를 기준으로 많은 framework module이 만들어짐



출처: http://madeinjeon.tistory.com/category/IT/Spring [Jeon's blog]

Spring

- 사실상 업계 표준 프레임 워크


Maven

- Spring을 사용하기 위해 Maven Build가 필요

- Spring의 의존 라이브러리를 간편하게 추가 할 수 있도록 의존성 주입을 제공

- 그 외 오픈 소스 라이브러리도 Maven Repository에 업로드 함으로써 대부분의 라이브러리를 자동으로 추가 가능

- 프로젝트의 구조를 자동으로 구성

- Build를 통해 배포를 위한 파일을 생성

Spring = DI Framework = IoC Framework


DI / IoC

- JAVAClass 상속/Interface를 이용한 추상화를 기반으로 하는 개발 방법

- Spring은 아래 DI / IOC를 강력하게 지원하는 프레임 워크

DI : Dependency Injection (의존성 주입)

- 프로그램에 필요한 각종 클래스들을 Bean Container에 두고 필요할 때마다 불러와서 사용

- 완벽한 싱글톤 객체(빈 스코프에 따라 다름) -> Read만 가능 Write불가-> 복제 불가

IoC : Inversion of Control (제어의 역전)

- 프로그램이 흘러가는 순서를 변경 가능

- DIIoC 패턴의 구현체 중 하나

- DI에 따라 프로그램의 흐름이 완전히 변경

- SpringDI를 기준으로 많은 framework module이 만들어짐

- IoC가 적용되면 객체생성을 자바코드로 직접 처리하는 것이 아니라 컨테이너가 대신처리한다. 그리고 객체와 객체 사이의 의존관계 역시 컨테이너가 처리한다. 결과적으로 소스에 의존 관계가 명시되지 않으므로 결합도가 떨어져서 유지보수가 편리해진다.



서블릿 컨테이너의 동작순서(예시)

1. WEB-INF/web.xml 파일을 로딩하여 구동

2. 브라이저로부터 /hello.do 요청 수신

3. hello.HelloServlet 클래스를 찾아 객체를 생성하고 doGet()메소드 호출

4. doGet메소드 실행결과를 클라이언트 브라우저로 전송

'Develop > Spring' 카테고리의 다른 글

트랜젝션처리 와 Exception처리  (0) 2018.03.06
@어노테이션 정리  (0) 2018.03.06
Spring MVC Controller(컨트롤러)가 무엇을 처리해 주는가?  (0) 2017.12.12
AOP 개념  (0) 2017.12.10
JUnit 개념과 설치법  (0) 2017.11.23