본문 바로가기
Spring

[스프링(Spring)] 스프링이란 무엇인가!? -1

by 디찌s 2021. 2. 19.
728x90
반응형

내용은 "토비의 스프링3.1" 책내용을 참고하며 정리한 내용입니다. 

 

 

 

 

1. 스프링은 애플리케이션 프레임워크이다!.

스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용된 프레임워크이다. 즉, 애플리케이션 개발을 빠르고 효율적으로 할수있도록 틀과 공통 프로그래밍 모델, 기술API등을 제공해준다.

 

 

2. 공통 프로그래밍 모델 - IoC/DI, 서비스 추상화,AOP

1. IoC/DI : 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델이다. 스프링은 유옇나고 확장성이 뛰어난 코드를 만들수 있께 도와주는 객체지향 설계 원칙과 디자인 패턴의 원리를 담고있는 프레임워크이다.

 

2.서비스 추상화 : 환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어나며 유연한 애플리케이션을 만들수있는데, 이를 가능하게 해주는것이 서비스 추상화이다. 구체적인 기술과 환경에 종속되지 않도록 유연한 추상 계층을 두는 방법이다.

 

3.AOP: 애플리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델이다.

스프링은 AOP를 이용해서, 다양한 엔터프라이즈 서비스를 적용하고도 깔끔한 코드를 유지할수있게 해준다.

 

 

 

 

3. 스프링 장점

  1 단순함 

   - 스프링은 EJB라는 표준 기술을 비판하며 등장했다. EJB는 불필요하게 복잡한 기술이었고, 스프링이 지향하는 것은 목적을 이룰 수 있는 가장 단순하고 명쾌한 접근 방법이었다. 스프링은 자바라는 언어의 근본에서 기존 엔터프라이즈 기술의 문제에 대한 해법을 찾았다. 자바는 이상적인 객체지향 언어라는 캐치프레이즈를 내세우며 등장했다. 이 때문에 학계와 업계에서 모두 큰 주목을 받아 빠르게 보급됬다. 하지만 시간이 지나고 자바의 기술이 복잡해져 가면서 자바의 본질인 객체지향 언어라는 특징을 점점 잃어버렸다. 스프링은 이 잃어버린 객체지향 언어의 장점을 다시 개발자들이 살릴수 있도록 도와주는 도구이다. 그래서 스프링이 강력히 주장하는 것은 가장 단순한 객체지향적인 개발 모델인 POJO 프로그래밍이다.

 

  2 유연성

    - 스프링 유연성과 확장성이 매우 뛰어나다. 스프링의 유연성으로 인해 스프링은 다른 많은 프레임워크와 편리하게 접목돼서 사용될수있다. 스프링만큼 많은 서드파티 프레임워크의 지원을 받는 기술도 없다.

 

728x90
반응형

댓글