• SPRING_ Framework 개요 및 특징, 주요 기능

    2021. 9. 15.

    by. KAEY


    Spring Framework 개요

    Spring

    EJB를 주 프레임워크로 사용할 때 불편했던 점들을 해소. 

    2002년 로드존슨이 출판한 도서 Expert One-on-One J2EE Design and Development 에 선보인 코드가 Spring의 근간이 됨. 

    이 도서를 읽은 개발자들이 “코드가 책으로만 존재하기에는 너무 아깝다”며 로드 존슨의 허가를 받은 뒤 프레임워크로 발전시킴. 

    2003년 6월 Apache 2.0 License로 공개됨.

     

     


    스프링 프레임워크 란?

    Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다.

     

     

    애플리케이션 프레임워크

    특정 계층이나 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크

     

     

    경량급 프레임워크

    단순한 웹컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용 가능

     

     

    엔터프라이즈 개발 용이

    개발자가 복잡하고 실수하기 쉬운 Low Level에 많이 신경 쓰지 않으면서 Business Logic 개발에 전념할 수 있게 함

     

     

    오픈소스

    OpenSource의 장점을 충분히 취하면서 동시에 단점과 한계를 잘 극복함

     

     


    Spring Framework 특징

    1. 컨테이너 역할
      Spring 컨테이너는 Java 객체의 LifeCycle을 관리하며, Spring 컨테이너로 부터 필요한 객체를 가져와 사용
      EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행
    2. IoC(Inversion of Control) 이용
      애플리케이션 간의 느슨한 결합을 제어
    3. DI (Dependency Injection) 지원
      Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정
    4. AOP(Aspect Oriented Programming) 지원
      Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에서 분리해서 적용 
    5. POJO(Plain Old Java Object) 지원
      Spring 컨테이너에 저장되는 Java객체는 특정한 인터페이스를 구현하거나, 특정 클래스를 상속받지 않아도 됨 
    6. 트랜잭션 처리를 위한 일관된 방법을 지원
      JDBC, JTA 등 어떤 트랜잭션을 사용하던 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용가능
    7. 영속성 (Persistence)과 관련된 다양한 API 지원
      Spring은 MyBatis, Hibernate 등 데이터베이스 처리를 위한 ORM(Object Relational Mapping) 프레임워크들과의 연동 지원

     

     


    Spring Framework 주요 기능

    기능 설명
    Core 다른 기능과 설정 분리위한 IoC 기능 제공
    Context 스프링 기본 기능. 애플리케이션의 각 기능을 하는 빈(Bean)에 대한 접근 방법 제공
    DAO JDBC 기능을 좀 더 편리하게 사용할 수 있도록 함
    ORM 하이버네이트, 마이바티스 같은 영속성 관련 프레임 워크와 연동된 기능 제공
    AOP 관점 지향 기능 제공 Web 웹 애플리케이션 개발에 필요한 기능 제공
    WebMVC 스프링에서 MVC 구현에 관련된 기능 제공
    Web 웹 애플리케이션 개발에 필요한 기능 제공

     

    Core 기능은 스프링의 다른 기능을 수행하는데 필요한 기반 기능을 제공

    이 모듈의 BeanFactory는 Spring의 기본 컨테이너이면서 스프링의 DI 기반

     

     


    Spring 의 시작

    스프링 초기 필요한 기능에 필요한 라이브러리를 직접 다운로드하여 사용.

    하지만, 스프링 버전에 자주 업데이트됨에 따라 관련 기능의 라이브러리를 일일이 수정해야 했고,

    라이브러리 기능 사용법이 달라지면 소스 수정이 동반됨에 따라 불편함이 발생

    메이븐과 같은 오픈소스 빌드툴을 이용하여 자동으로 스프링의 라이브러리 기능을 관리하면서 프로그램을 개발

     


     

    댓글 (비로그인 댓글 허용하지 않습니다.)