본문 바로가기
Backend FrameWork/Spring

[Spring Framework] Spring FrameWork 개념

by IsBerry 2018. 12. 24.
반응형

Spring FrameWork 개념

 

 




SpirngFrameWork란?

 : Java 플랫폼을 위한 오픈소스 애플리케이션 프레임워크

   동적 웹 사이트 개발을 위한 프레임워크

   대한민국 전자정부 표준 프레임워크의 기반 기술

   

 


특징

   1. IoC(제어 반전) 지원

       : 스프링이 제어권을 주도함. 스프링이 사용자의 코드를 호출

       * 제어반전 : 사용자가 아닌 스프링이 제어를 한다는 의미

  

   2. 경량 컨테이너

       : 스프링이 컨테이너로써 자바 객체를 직접관리함. 

         객체 라이프사이클(생성-소멸 과정) 관리, 스프링으로부터 필요한 객체를 얻어올 수 있음.

  

   3. POJO방식의 프레임워크

      : 특정한 인터페이스구현/상속 받을 필요 없음.

        기존에 존재하는 라이브러리 지원 용이, 객체 가벼움

      * POJO(Plain Old Java Object) : setter/getter를 가진 단순한 자바 객체

  

   4. AOP(관점지향 프로그래밍) 지원

      : 공통 기능(트랜잭션, 로깅, 보안관리 등)들을 분리하여 관리

  

   5. DI(의존성 주입) 지원

      : 각 계층, 서비스들 간에 의존성이 존재할 경우 서로 연결시켜줌

  

   6. 확장성이 높음

      : 수많은 라이브러리를 지원하고 라이브러리를 별도로 분리하기 용이

  

   7. 트랜잭션의 지속성(durability)과 관련된 다양한 서비스 지원

      : DB 처리 라이브러리와 연결할 수 있는 인터페이스 제공

      * 트랜잭션의 지속성(영속성) : 트랜잭션이 성공적으로 완료된 후 DB에 반영한 수행 결과는 손실되지 않고 영구적인 것을 의미




SpringFrameWork 모듈 구성



   Spring Core

    : IoC, DI를 지원하는 영역. - Spring을 컨테이너로 만듬

     BeanFactory를 기반으로 Bean클래스를 제어할 수 있는 기능 지원

  

   Spring Context

    : 쉬운 개발이 가능하도록 추가 기능 지원 - Spring을 Framework로 만듬

      EX) JNDI, EJB 등 Adaptor 기능

  

   Spring DAO

    : JDBC기반의 DAO 지원 - 기존 DAO보다 적은 코드로 쉽게 개발 가능

  

   Spring AOP

    : AOP기능 지원

  

   Spring Web MVC

    : MVC 프레임워크 제공

  

   Spring Web

    : Web Application 개발에 필요한 Web Application Context, Multipart Request등 지원 

      - 프레임워크의 통합을 지원

  

   Spring ORM

    : 여러 ORM(Object Relational Mapping)에 플러그인 됨. 

      EX) iBatis, JDO, Hibernate




* 스프링의 특징들은 이런 기능이 있구나 정도로 기억하고 스프링을 공부하고 다시보면 이해를 할 수 있을 것이다.

  핵심은 Java를 이용하여 동적 웹 사이트 개발을 위한 프레임워크 라는 것

   

반응형