Spring Framework 개념 구조화

2025. 3. 23. 00:00· 프레임워크/Spring
목차
  1. 스프링 프레임워크란 무엇인가?
  2. 스프링의 핵심 기능 3대장
  3. 1. IoC & DI
  4. 2. AOP
  5. 3. MVC 패턴
  6. 스프링의 핵심 구성 요소 (Bean 관리)
  7. 1. Bean
  8. 스프링의 동작 흐름
  9. 스프링의 부가기능
  10. 스프링 부트와의 차이
  11. ✅ 결론 (한 줄 요약)

스프링 프레임워크란 무엇인가?

  • 자바 기반 애플리케이션 개발을 쉽게 하기 위한 경량 프레임워크
  • 핵심 철학: 객체 관리 자동화 + 공통 기능 분리 + 웹 요청 처리

스프링의 핵심 기능 3대장

1. IoC & DI

IoC (Inversion of Control) & DI (Dependency Injection)

  • IoC 컨테이너가 객체(Bean)를 만들고 관리
  • 개발자는 의존성을 직접 생성하지 않고, 주입받기만 함

관련 개념

  • ApplicationContext: IoC 컨테이너
  • @Component, @Service, @Repository: Bean 등록
  • @Autowired, @Inject: 의존성 주입

 

객체를 컨테이너에 빈으로 등록하면

@Autowired등의 DI 어노테이션 달린곳에 스프링이 주입하고 관리한다 (DI 어노테이션 생략 가능한 곳도 있음)

2. AOP

AOP (Aspect Oriented Programming)

  • 공통 관심사(로깅, 트랜잭션, 보안 등)를 핵심 로직과 분리하여 처리

관련 개념

  • @Aspect: AOP 클래스 정의
  • @Transactional: 트랜잭션 처리
  • JoinPoint, Advice: AOP 구성 요소

3. MVC 패턴

MVC 패턴 (Model-View-Controller)

  • 웹 요청 처리 구조: 요청 → Controller → Service → Repository → 응답

주요 컴포넌트

  • DispatcherServlet: 스프링 MVC의 프론트 컨트롤러
  • @Controller, @RestController: 요청 처리
  • Model: 데이터 전달
  • View: 화면 렌더링 (Thymeleaf, JSP 등)

스프링의 핵심 구성 요소 (Bean 관리)

1. Bean

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

Bean 등록 방법 

  • 자동 등록: @Component, @Service, @Repository
  • 수동 등록: @Bean + @Configuration

스프링의 동작 흐름

1. 애플리케이션 실행

@SpringBootApplication
   ↓
ApplicationContext 생성 (IoC 컨테이너)
   ↓
Bean 등록 & DI 수행

2. 웹 요청 처리

클라이언트 요청
   ↓
DispatcherServlet → HandlerMapping → Controller
   ↓
Service → Repository → DB
   ↓
응답 반환 (View or JSON)

스프링의 부가기능

1. 트랜잭션 관리

  • @Transactional로 Service 단에서 트랜잭션 시작/커밋/롤백

2. 예외 처리

  • @ControllerAdvice, @ExceptionHandler로 전역 예외 처리

3. 유효성 검증

  • @Valid, @Validated 사용 → 파라미터 검증

스프링 부트와의 차이

✅ 결론 (한 줄 요약)

스프링 = IoC/DI로 객체 관리 + AOP로 공통 기능 분리 + MVC로 웹 요청 처리하는 구조화된 프레임워크

저작자표시 비영리 변경금지 (새창열림)

'프레임워크 > Spring' 카테고리의 다른 글

REST API  (0) 2025.03.26
의존, 의존성 주입(DI)  (0) 2025.03.25
Controller, Service, Repository 패턴  (0) 2025.03.18
[김영한] 스프링 입문(5) - 회원 관리 예 - MVC 개발  (1) 2024.08.30
[김영한] 스프링 입문(6) - 스프링 DB 접근 기술  (0) 2024.08.22
  1. 스프링 프레임워크란 무엇인가?
  2. 스프링의 핵심 기능 3대장
  3. 1. IoC & DI
  4. 2. AOP
  5. 3. MVC 패턴
  6. 스프링의 핵심 구성 요소 (Bean 관리)
  7. 1. Bean
  8. 스프링의 동작 흐름
  9. 스프링의 부가기능
  10. 스프링 부트와의 차이
  11. ✅ 결론 (한 줄 요약)
'프레임워크/Spring' 카테고리의 다른 글
  • REST API
  • 의존, 의존성 주입(DI)
  • Controller, Service, Repository 패턴
  • [김영한] 스프링 입문(5) - 회원 관리 예 - MVC 개발
434
434
434
434
434
전체
오늘
어제
  • 분류 전체보기 (116)
    • 네트워크 (1)
    • 운영체제 (1)
    • DB (1)
    • 프로젝트 (1)
      • 4dx (0)
      • 연습 (1)
    • 백준 (13)
      • 백준 (0)
      • 자료구조 (0)
    • CS (64)
      • 운영체제 (13)
      • 네트워크 (23)
      • 자료구조 (9)
      • 컴퓨터구조 (0)
      • 프로그래밍 언어론 (10)
      • 형식언어 오토마타 (0)
      • 기타 (2)
      • 정보처리기사 (7)
    • 언어 (13)
      • Java (13)
    • 프레임워크 (14)
      • Spring (14)
    • Tools (0)
      • Notion (0)
      • Github (0)
      • VS Code (0)
      • IntelliJ (0)
    • hello스킨 튜닝 (5)

블로그 메뉴

  • 관리
  • 글쓰기

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
434
Spring Framework 개념 구조화
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.