ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [스프링] 스프링이란?
    IT 발자취.../스프링 2018. 12. 9. 03:27

    스프링이 무엇인가와 철학에 대해서
    알아보고자 합니다.

    보통 스프링은 자바 애플리케이션 개발을 위한 경량 프레임워크로 설명합니다.

    위의 말을 두가지의 특징이 들어있습니다.

    첫째, 스프링은 자바로 어떤 애플리케이션(단독 실행형, 웹, JEE애플리케이션 등)도 개발할 수 있게 도와줍니다. 이는 아파치 스트러츠 같은 다른 여러 프레임워크가 웹 애플리케이션에 국한되는 점과 다른 점입니다.
    둘째, 위 설명에서 '경량'이란 부분은 클래스 개수나 배포판의 크기를 말하기보다는 전체적인 스프링 철학을 가리킵니다. 즉, 최소한의 영향을 준다는 의미입니다. 
     스프링은 스프링 코어를 활용할 때 애플리케이션 코드를 거의 바꾸지 않아도 된다는 점에서, 또 어느순간 스프링을 더 이상 사용하지 않기로 했을 때도 아주 간단하게 스프링을 걷어낼 수 있다는 점에서 경량 프레임워크입니다.

    1. 스프링 철학!
    객체지향 프로그래밍이 제공하는 폭넓은 혜택을 누릴 수 있도록 기본으로 돌아가자!
    위의 철학이 바로 스프링의 핵심 철학입니다.
    스프링은 객체지향 설계와 구현에 관해 특정한 모델과 기법을 억지로
    강요하지는 않습니다.
    하지만 오브젝트를 어떻게 효과적으로 설계하고
    구현하고 사용하고, 이를 개선해 나갈 것인가에 대한
    명쾌한 기준을 마련해줍니다.

    2. 스프링의 성공 이유
    스프링을 사용하는 개발자들이 스프링을 통해 얻게 되는 두가지 중요한
    가치가 있다고 합니다.
    바로 단순함과 유연성이라고 합니다.
    스프링 개발 철학 중 하나는 "항상 프레임워크 기반의 접근 방법을 사용하라" 입니다.
    스프링의 기능의 대부분은 핵심 기능을 확장해서 발전시킨 결과물입니다.
    개발자들에게 스프링을 확장해서 사용하도록 권장합니다.
    스프링을 필요에 맞게 확장해서 자신만의 프레임워크를 만들어서
    사용할 줄 알아야한다는 것이 스프링을 사용함에 최종목표입니다.

    3. 스프링을 사용한다는 것

    1. 어플리케이션의 기본 틀 - 스프링 컨테이너
    2. 공통 프로그래밍 모델  - IoC/DI, 서비스 추상화, AOP
    3. 기술 API

    이 세가지 요소를 활용하여 애플리케이션을 개발한다는 뜻입니다.
    클래스는 스프링 컨테이너 위에서 오프젝트로 만들어져 동작하게하고,
    코드는 스프링의 프로그래밍 모델에 따라서 작성
    엔터프라이즈 기술을 사용할때는 스프링이 제공하는
    기술 API와 서비스를 활용하도록 해주면 됩니다.

    참고. 
    [블로그]http://nadak.tistory.com/18
    [도서] 프로스프링3

    댓글

Designed by Gintire