회사에서 가장 많이 쓰는 프레임워크, Spring
오래 사용한 만큼 사용 방법은 잘 알지만
개념적이거나 이론적인 지식은 현재 중구난방 상태입니다.
인프런에서 스프링 강의를 들으며 하나씩 정리해보려 합니다.

모든 자료의 출처는

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC_renew/
이곳입니다.

혹시나 강의자료를 정리하여 올리는 것이 문제가 되면 삭제하겠습니다.

주요 기능

DI, AOP, MVC, JDBC 등을 제공

  • DI: 의존성 주입 (Dependency Injection)
  • AOP: 관점지향 프로그래밍 (주요 부분을 작업 후 공통 부분은 모듈화 시켜서 자유롭게 탈부착)
  • MVC: Model View Control 모델링
  • JDBC: Java로 여러 종류의 DB에 접근하는 것

스프링의 핵심 모듈

spring-core, spring-aop, spring-jdbc, spring-tx, spring-webmvc

  • spring-core: 스프링의 핵심인 DI(Dependency Injection)와 IoC(Inversion of Control)를 제공
  • spring-aop: aop구현 기능 제공
  • spring-jdbc: 데이터베이스를 쉽게 다룰 수 있는 기능 제공
  • spring-tx: 스프링에서 제공하는 트랜잭션 관련 기능 제공
  • spring-webmvc: 스프링에서 제공하는 컨트롤러와 뷰를 이용한 스프링MVC 구현 기능 제공

스프링 프레임워크에서 제공하고 있는 모듈을 사용하려면 모듈에 대한 의존설정을 개발 프로젝트의 XML 파일 등을 이용하여 개발자가 직접 하면 된다.

스프링 컨테이너

스프링에서 객체(Bean)를 생성하고 조립하는 컨테이너로, 컨테이너를 통해 생성된 객체를 빈(Bean)이라고 부른다.

  1. 객체생성 및 속성 데이터 작성 (XML 문서로 작성)
  2. 스프링 컨테이너에서 객체 생성 및 조립
    2.1. 스프링 컨테이너 내부에 많은 빈들이 생성 및 조합됨
  3. 애플리케이션 구현

컨테이너의 예제

  1. 범용적으로 사용 가능한 객체 하나를 만들어놓고, 여러가지 Argument를 갈아 끼우면서 다양한 방법으로 이용
    ex) Calculator 라는 계산기 객체를 만든 후에 AddCalculator, SubCalculator등을 이용하여, 덧셈, 뺄셈 계산기로 만들 수 있음.