스프링 프레임워크

 

①  스프링 프레임워크(Spring Framework)

  • 여러 프레임워크들 중 자바(JAVA)를 기반으로 하는 프레임워크 이다.
  • 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크 이다.
  • 스프링의 다른 프레임워크와 가장 큰 차이점은 다른 프레임워크들의 포용이다. 이는 다시말해 기본 뼈대를 흔들지 않고, 여러 종류의 프레임워크를 혼용해서 사용할 수 있다는 점.

 

② 스프링 프레임워크 특징

  •  POJO(Plan Old Java Object)기반의 구성
    - 코드를 개발할 때 개발자가 특정한 라이버리나 컨테이너의 기술에 종속적이지 않다는 것을 의미
    - 쉽게말해 Java코드를 이용해서 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있다는 의미

 

  • 의존성 주입
    -  의존성 주입은 하나의 객체가 다른객체의 의존성을 제공하는 테크닉
    - "어떤 객체가 필요한 객체를 외부에서 밀어 넣는다."는 의미
    - "의존성 주입"을 사용하여 갖는 장점은 '주입을 받는 입장에서는 어떤 객체인지 신경 쓸 필요가 없다.', '어떤 객체에 의존하든 자신의 역할은 변하지 않는다.'이다.
    - "ApplicationContext"라는 존재가 필요한 객체들을 생성하고, 필요한 객체들을 주입하는 역할을 해주는 구조
    - "ApplicationContext가 관리하는 객체들을 "빈(Bean)"이라고 한다.
    - 빈과 빈 사이의 의존 관계를 'xml 설정', '어노테이션 설정', 'Java 설정 방식'을 통해서 처리 할 수 있다.

 

  • 관점지향프로그래밍(AOP)의 지원
    - 대부분의 시스템에서 '보안'이나 '로그', '트랜잭션'과 같이 무엇을 실행을 하든 반드시 처리가 필요한 부분이 있다. 이를 '횡단 관심사(cross-concern)'라고 한다. 
    - AOP는 이러한 횡단 관심사를 모듈로 분리하는 프로그래밍 패러다임이다.
    - 이 패러다임을 통해서 반복적인 코드를 줄이고, 핵심 비즈니스 로직에만 집중을 할 수 있다.

 

  • 높은 확장성
    - 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하다.
    - 따라서 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도용이하다.

 

③ 스프링 프레임워크 사용이유(장점)

  • 정형화 되어 있기 때문에 일정수준의 품질을 기대 할 수 있다.
  • 개발 후 유지보수 및 기능의 확장성에서도 품질을 보장한다.
  • '전자표준 프레임워크'기 때문에 해당 프레임워크의 수요가 크다.(한국 한정)

 

④ 스프링 프레임워크 단점

  • 내부에서 많은 기능을 가졌기 때문에 상당히 무겁다.
  • 분명 많은 기능을 제공해서 편리하지만, 이 기능들을 습득하기위해 상당한 노력과 시간이 필요하다.

 

 

참고자료 : 

https://kimvampa.tistory.com/35

 

+ Recent posts