본문 바로가기
Spring Framework

[Spring Framework] 특징, mvc 모델 구조

by 대우니 2019. 7. 15.
728x90
반응형

안녕하세요 대우니입니다 :)

여러분들은 공부를 하실 때 무얼 먼저 하시나요?

저는 공부를 할 때 코드부터 작성을 해보려고 하는 편입니다.

감을 느껴보려고 하는 것이죠.

근데 Spring Framework를 사용하여 코드 작성을 해봤지만 감이 잘 오지 않더라구요.

그래서 개념부터 밟으려하고 있습니다.

JAVA 개념들이 매우 중요하다는 것을 뼈저리게 느끼고 있는 요즘입니다.

여러분들도 JAVA 개념을 익히시길 바랍니다..

이 포스팅은 맛보기라고 생각하시면 될 것 같습니다.

자세한 용어에 대해서는 추후 포스팅하겠습니다.

그럼 시작하겠습니다.

 

 

Spring Framework 란?

스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불립니다. 앞으로 편의를 위해 스프링이라고 부르겠습니다.

 

...더보기

프레임워크?

프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자가 그 안에서 필요한 코드를 짠다는 특징을 갖고 있습니다.

(더 자세하게 알고 싶으시다면 https://webclub.tistory.com/458 이 링크를 참조하세요.)

 

 

스프링은 EJB(Enterprise JavaBeans)를 대체하는 POJO의 개념을 충실히 갖춘 프로그래밍이라고 합니다.

POJO는 정의하기 어렵지만 순수하게 setter,getter 메소드로 이루어진 Value Object 성의 Bean을 말합니다.

스프링에서의 Bean은 IOC 컨테이너(어플리케이션 컨텍스트)에 의해 인스턴스화, 관리, 생성됩니다.

 

IOC(Inversion Of Control)

프로그램의 흐름을 제어하는 주체자는 개발자가 아닌 프레임워크임을 말합니다.

이는 DI(Dependancy Injection), AOP(Aspect-Oriented Programming)을 가능하게 합니다.

DI(Dependancy Injection)

클래스 사이의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동적으로 연결해주는 것입니다.

동적으로 실행시에 의존 관계가 형성됩니다. 이는 개방폐쇄 원칙(OCP)이라는 객체지향 설계 원칙으로 잘 설명됩니다.

AOP(Aspect-Oriented Programming)

기존에 OOP(Object-Oriented Programming)에서 바라보던 관점을 달리하여 부가기능 관점으로 보았을 때 공통된 기능을 모듈화하여 재사용할 수 있도록 하는 것입니다.

 

...더보기

개방폐쇄 원칙(OCP,Open-Closed Principle)?

올바르게 리팩토링(refactoring)하여 기능을 추가하거나 변경할 때 이미 제대로 작동하고 있던 코드를 변경하지 않더라도 기존 코드에 새로운 코드를 추가하여 기능의 추가나 변경이 가능해야 합니다.

 

Spring의 MVC 모델 구조 

 

 

...더보기

Dispatcher Servlet?

어플리케이션 컨텍스트를 생성하고 이를 통해 빈을 로딩하게 하는 역할입니다.

 

 

이렇게 보면 아직 감이 오지 않는 것들이 있을 겁니다.

다음엔 좀 더 자세한 용어에 대해 포스팅하겠습니다.

저의 포스트를 봐주셔서 감사합니다 :)

반응형