새소식

Computer Science/Back-end

스프링 프레임워크(Spring framework)

  • -
반응형
SMALL

Spring framework

 

Spring framework 란?

자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다.
Spring framework는 경량 컨테이너로 자바 객체를 담고 직접 관리한다.

객체의 생성 및 소멸 그리고 라이프사이클을 관리하며 언제든 Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.

이는 Spring이 IoC 기반의 framework임을 의미한다.

SMALL

구성요소

스프링은 객체 지향을 기반으로 하는 프레임워크로 다음과 같은 특징을 지닌다.

반응형

POJO(Plain Old Java Object)

  • 특정 기술에 의존적이지 않은 순수한, 객체 지향 원리에 충실한 자바 객체를 의미한다.

IoC(Inversion of Control)

  • 제어의 역전이라는 의미로, 개발자가 객체의 생성 및 의존관계를 제어했지만 스프링에서는 스프링 컨테이너(IoC 컨테이너)가 객체의 생성부터 삭제까지 객체의 라이프사이클과 의존성 관리를 해준다.
    • 스프링이 관리하는 객체를 Bean 이라고 한다.

DI(Dependency Injection)

  • 기존에는 클래스 내부에서 사용하고자 하는 객체를 생성했다면, 스프링에서는 객체(Bean)를 스프링이 실행될 때 먼저 생성한 뒤 필요한 곳에 만들어놓은 객체를 주입한다.
    • 이것을 DI, 의존성 주입이라고 한다.
private BookDao bookDao = BookdaoImpl.getBookDao();

위 예시는, service 클래스에서 BookDaoImpl 객체를 직접적으로 가져오고 있다.
만약, BookDaoImpl이 아닌 BookDao 인터페이스를 상속한 다른 클래스로 교체하고 싶으면 코드를 직접 바꿔줘야 한다.
이는 두 객체 간의 결합이 강한 것이고, 이를 해결하기 위한 것이 의존성 주입이다.

스프링에서는 설정을 통해 다음과 같이 작성하면 된다.

@Autowired
private BookDao bookDao;

AOP(Aspect Oriented Programming)

MVC(Model-View-Controller) 패턴

반응형
LIST
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.