Spring Framework 개요

왈왈왈 (Yoon tae uk)·2021년 7월 6일
1

학습목표

  • Spring Framwork의 정의와 전략에 대해 이해할 수 있다.
  • Spring Framework의 특징에 대해 이해할 수 있다.
  • Spring Framework의 기능요소에 대해 이해할 수 있다.

Spring Framework란?

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

애플리케이션 프레임워크

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

경량급 프레임워크

단순한 웹컨테이너에서도 엔터프라이즈 개발의 고급기술을 사용할 수 있다.

엔터프라이즈 개발 용이

개발자가 복잡하고 실수하기 쉬운 low Level(보안, 인증, 트랜잭션처리등)에 많이 신경쓰지 않으면서 비즈니스로직 개발에 전념할 수 있게 도와준다.

오픈소스

Spring은 OpenSource의 장점을 취하면서 동시에 OpenSource 제품의 단점을 잘 보완한다.

Spring Framework 전략

Spring 삼각형

엔터프라이즈 개발의 복잡성을 상대하는 Spring의 전략

→ Portable service abstractions, DI, AOP, POJO

1.Portable service abstractions(서비스 추상화)

트랙잭션 추상화, OXM(object XML Mapping) 추상화, 데이터 액서스의 Execption 변환기능 등 기술적인 복잡성을 추상화를 통하여 Low Level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리한다.

2.객체지향과 DI(Dependency injection)

Spring은 객체지향에 충실한 설계가 가능하도록 단순한 객체형태로 개발할 수 있고, DI는 유연하게 확장 가능한 객체를 만들어 두고 그 관계는 외부에서 다이내믹하게 설정해준다.

3.AOP(Aspect Oriented Programming)

AOP는 애플리케이션 로직을 담당하는 코드에 남아 있는 기술관련 코드를 분리해서 별도의 모듈로 관리하게 해주는 기술이다.

4.POJO(Plain Old Java Object)

POJO는 객체지향 원리에 충실하면서, 특정 환경이나 규약에 종속되지 않고 필요에 따라 재활용될 수 있는 방식을 설계된 객체이다.

Spring Framework 특징

1. 컨테이너 역할

Spring 컨테이너는 Java 객체의 라이프사이클을 관리하며, Spring 컨테이너로 부터 필요한 객체를 가져와 사용할 수 있다.

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

Spring은 설정 파일이나(XML) 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있다.

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

Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에서 분리해서 사용할 수 있다.

4.POJO

Spring 컨테이너에 저장되는 Java객체는 특정한 인터페이스를 구현하거나, 특정 클래스를 상속받지 않아도 된다.

5.영속성과 관련된 다양한 API지원

Spring은 MyBatis, Hibernate 등 데이터베이스 처리를 위한 ORM 프레임워크들과의 연동 지원

Spring Framework 기능요소

Spring Core

스프링 프레임워크의 기본기능을 제공한다, 이 모듈에 있는 BeanFactory는 Spring의 기본 컨테이너이면서 스프링 DI의 기반이다.

주로 스프링 컨테이너 역할을 하는 구성으로 이루어져 있다.

Spring AOP

업무로직과, 공통로직을 분리하는 Aspect를 개발할 수 있는 기반을 지원한다.

Spring ORM

MyBatis, Hibernate, JPA 등 자주 사용되는 ORM 프레임워크와의 연결고리를 제공한다.

Spring DAO

JDBC에 대한 추상화 계층으로 JDBC 코딩이나 예외처리 부분을 간편화 시켰으며 AOP 모듈을 이용해서 트랜잭션 관리 서비스도 제공한다.

Spring Web

일반적인 웹애플리케이션 개발에 필요한 기본기능을 제공한다.

Webwork나 Struts와 같은 다른 웹애플리케이션 프레임워크와의 통합을 지원한다.

Spring Context

Spring Core의 개념을 확장한 부분

국제화 메시지, 애플리케이션 생명주기 이벤트, 유효성 검증 등을 지원한다.

Spring MVC

애플리케이션 로직과 분리되는 웹 애플리케이션을 만드는 경우에 일반저긍로 사용되는 패러다임이다.

Reference

T아카데미 Spring Framework Basic

0개의 댓글

관련 채용 정보