Spring - 그래서 Spring이 실질적으로 하는일은 뭔데?
맞아, 아주 현실적이고 실용적인 관점에서 보면 그렇게 생각해도 돼 😄
조금 더 구체적으로 풀어서 정리하면 이렇게 볼 수 있어.
🔹 스프링 프레임워크 = 어노테이션 + 라이브러리 모음
-
어노테이션
-
개발자가 선언적으로 “이 메서드는 컨트롤러야”, “이 객체는 의존성 주입 받아야 해” 등 행동을 스프링에 알려주는 표지판
-
예시:
-
@Controller,@RestController→ 컨트롤러임을 표시 -
@Service→ 비즈니스 로직 클래스임을 표시 -
@Autowired→ 의존성 자동 주입 -
@RequestBody,@ResponseBody→ HTTP 요청/응답 변환 지정
-
-
-
라이브러리 모음
-
스프링 코어, 스프링 MVC, 스프링 데이터, AOP 등
-
개발자가 직접 호출하지 않아도 프레임워크가 내부적으로 제공하는 클래스와 기능이 많음
-
예:
DispatcherServlet,HttpMessageConverter,ApplicationContext등
-
-
프레임워크의 “자동화된 동작” 대부분은 이 라이브러리 안의 코드가 수행
-
🔹 쉽게 비유하면
| 역할 | 비유 |
|---|---|
| 어노테이션 | “스프링에게 하는 주문 / 신호” (예: “이 메서드는 REST API야”) |
| 라이브러리 | “마법을 실행하는 도구 상자” (예: DispatcherServlet, HttpMessageConverter, ObjectMapper) |
즉, 개발자는 주문(어노테이션)만 붙이면, 스프링이 라이브러리 내부 코드를 이용해서 알아서 처리한다.
🔹 요약
-
스프링 프레임워크 = “자동화된 개발 편의 도구 상자”
-
어노테이션 = 선언적 신호
-
라이브러리 = 그 신호를 실제로 동작시키는 엔진
원하면 내가 Controller → Service → DAO → DB
전체 스프링 동작 흐름을 어노테이션 기준 + 내부 라이브러리 기준으로 그림으로 보여줄 수도 있음.
그림으로 보면 “어노테이션이 신호, 라이브러리가 엔진” 구조가 한눈에 보여서 이해가 빨라짐.
그려줄까?
댓글
댓글 쓰기