📘스프링부트

스프링 프레임워크

  • 자바 기반의 오픈소스 프레임 워크로 javaEE에서 요구하는 수준의 복잡한 기능을 javaEE를 사용하지 않고 구현하기 위해 시작됨
  • 스프링 프레임워크는 높은 수준의 스프링 기반 애플리케이션을 손쉽게 만들어주는 스프링 프로젝트 중 하나로, 20개 이상의 서로 다른 모듈로 구성
  • 프로젝트 규모와 필요 기능에 따라 스프링 프레임워크를 기본적으로 여러 모듈을 조합한 형태로 사용

스프링 프레임워크의 특징

  1. 경량 컨테이너
    • 객체 생성, 소멸과 같은 생명 주기 관리
    • 스프링 컨테이너로부터 필요한 객체를 얻어올수있음
  2. 제어의 역행 지원
    • 메서드나 객체의 호출 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드 호출
  3. 의존성 주입 지원
    • 각각의 계층이나 서비스 간에 의존성이 존재할 경우 프레임워크가 서로 연결
  4. 관점 지향 프로그래밍 지원
    • 트랜잭션이나 로깅,보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리

IOC란

  • IOC: 작업을 수행하는 쪽에서 객체를 생성하는 일반적인 개념을 뒤집은 것으로, 프로그램 제어를 자신이 아닌 다른곳에 위임
  • 컨테이너에 객체 생성과 공급을 위임하는 형태
  • 특징 : ioc에서는 객체가 자신이 사용할 객체를 생성하거나 선택하지 않음 , 객체는 자신이 어떻게 생성되고 어떻게 사용되는지 알 수 없음 , 모든 객체는 제어 권한을 위임받은 특별한 객체에 의해 만들어지고 사용됨

DI

  • IOC를 시스템적으로 구현하는 방법으로 DI와 DL사용
  • DI : 우리말로 의존성 주입 , 클래스 간의 의존관계를 Bean 설정에 기반해 컨테이너가 자동으로 연결
  • DL : 저장소에 저장되어 있는 Bean에 접근하기 위해 개발자가 컨테이너에서 제공하는 API를 이용해 Bean을 찾는 방식

AOP

  • 관점 지향 프로그래밍 이라고도 하며 스프링 프레임워크의 핵심 요소 중 하나
  • aop는 핵심 기능과 횡단 관심사를 분리하고 코드를 구현하는 대신 어드바이스로 정의하고 코드의 특정 위치에 실행하기 위한 포인트컷을 정의

스프링빈

  • 스프링 ioc 컨테이너가 관리하는 객체

태그:

카테고리:

업데이트: