Home 스프링 프레임워크(Spring Framework)란?
Post
Cancel

스프링 프레임워크(Spring Framework)란?

스프링 프레임워크는 한마디로 이렇게 정리할 수 있습니다.

“IoC와 AOP를 지원하는 경량 컨테이너 프레임워크”

이게 스프링 프레임워크의 핵심적인 내용이라고 볼 수 있습니다.

먼저, 단어들을 간략하게 하나씩 설명해보겠습니다.

경량


경량 : POJO 형태의 객체를 관리할 수 있다.

→ Plain Old Java Object 의 약자.

직독직해를 하면 옛날 기본적인 자바 오브젝트라는 것인데, 일반적인 객체를 의미합니다.

이렇게 하면 이해가 어려우니 POJO가 아닌 것을 가져와서 비교하며 설명해보겠습니다.

일반적인 객체 ↔ Servlet 클래스 (POJO가 아닌 것)

Servlet 클래스를 만들 때는 요구하는 규칙이 있고, 그거에 알맞게 만들어야 합니다.

Servlet클래스를 만들면 기본적으로 httpServlet을 상속(extends)받아 만들어야 되고, 상속받아 만들다보니 import를 할 것이 한 두가지가 아닙니다. 또 기본생성자가 있어야합니다. 생명주기나 혹은 doGet, doPost에 따른 메소드를 오버라이딩(재정의)해야만 합니다. 상속으로 인해 규제가 된 것입니다.

이런 것들이 일반적인 POJO는 아니라고 볼 수 있습니다.

다시말해, POJO 형태는 특별한 규칙이 없고 단순한 객체들을 관리할 수 있다는 겁니다.

컨테이너


컨테이너(Container) : 객체의 생성을 관리

→ 서버 안에 들어가서 구동이 되는 것, 예를 들어 톰캣도 여기 포함됩니다.

톰캣이 서블릿 ‘컨테이너’입니다. 스프링 프레임워크도 ‘경량 컨테이너’라고 했으니까 스프링 또한 일종의 컨테이너라고 볼 수 있습니다.


여기까지 다시 붙여서 정리하면,

‘경량 컨테이너 프레임워크’

→ 일반적인 POJO형태의 객체를 생성해서 관리할 수 있는 컨테이너, 그것이 바로 스프링 프레임워크입니다.

IoC와 AOP를 지원하는


근데 무엇을 지원 컨테이너다? IoC와 AOP라는 것을 지원하는 컨테이너다! 라는 겁니다.

This post is licensed under CC BY 4.0 by the author.