상세 컨텐츠

본문 제목

[Spring] 스프링이란

IT/Spring 및 Boot

by SINAFLA 2021. 5. 28. 14:14

본문

반응형

스프링의 이해

1. 스프링 정의

  • 스프링 프레임워크(Spring framework)
  • 자바 언어로 개발을 편하게 해주는 오픈 소스 경량 애플리케이션 프레임워크다.
  • 자바 SE로 된 자바 객체(POJO)를 자바 EE에 의존적이지 않게 연결해주는 역할을 한다.

참고

  • 프레임워크(Framework) : 하나의 애플리케이션을 구축할 때, 모든 애플리케이션의 공통적인 개발 환경을 제공해주는 것
  • POJO : Plain Old Java Object로 오래된 방식의 간단한 자바 오브젝트란 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 무거운 객체를 만들게 된 것에 반발해서 사용하게 된 용어다.
  • POJO 프로그래밍의 가치 : 자바의 객체 지향적인 특징을 살려 비즈니스 로직에 충실한 개발이 가능하도록 하는 것

2. 스프링 특징

  1. 경량 컨테이너(크기와 부하의 측면)로서 자바 객체를 직접 관리
    • 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻을 수 있다.
  2. 제어 역행(IoC : Inversion of Control)
    • 애플리케이션의 느슨한 결합을 도모
    • 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출
  3. 의존성 주입(DI : Dependency Injection)
    • 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결 시켜 줌
  4. 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)
    • 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리
  5. 트랜잭션 처리를 위한 일관된 방법을 지원
    • JDBC, JTA 등 어떤 트랜잭션을 사용하던 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용 가능
  6. 영속성과 관련된 다양한 API 지원
    • Mybatis, Hibernate 등 데이터베이스 처리를 위한 ORM(Object Relation Mapping) 프레음워크들과의 연동 지원

참고

  • 컨테이너 : 객체관리를 주로 수행하는 그릇으로 생각하면 된다. 빈(Bean)의 생성과 관계, 사용, 생명 주기 등을 관장한다.
반응형

관련글 더보기

댓글 영역