Spring - 그래서 Spring이 실질적으로 하는일은 뭔데?

 맞아, 아주 현실적이고 실용적인 관점에서 보면 그렇게 생각해도 돼 😄

조금 더 구체적으로 풀어서 정리하면 이렇게 볼 수 있어.


🔹 스프링 프레임워크 = 어노테이션 + 라이브러리 모음

  1. 어노테이션

    • 개발자가 선언적으로 “이 메서드는 컨트롤러야”, “이 객체는 의존성 주입 받아야 해” 등 행동을 스프링에 알려주는 표지판

    • 예시:

      • @Controller, @RestController → 컨트롤러임을 표시

      • @Service → 비즈니스 로직 클래스임을 표시

      • @Autowired → 의존성 자동 주입

      • @RequestBody, @ResponseBody → HTTP 요청/응답 변환 지정

  2. 라이브러리 모음

    • 스프링 코어, 스프링 MVC, 스프링 데이터, AOP 등

    • 개발자가 직접 호출하지 않아도 프레임워크가 내부적으로 제공하는 클래스와 기능이 많음

      • 예: DispatcherServlet, HttpMessageConverter, ApplicationContext

    • 프레임워크의 “자동화된 동작” 대부분은 이 라이브러리 안의 코드가 수행


🔹 쉽게 비유하면

역할 비유
어노테이션 “스프링에게 하는 주문 / 신호” (예: “이 메서드는 REST API야”)
라이브러리 “마법을 실행하는 도구 상자” (예: DispatcherServlet, HttpMessageConverter, ObjectMapper)

즉, 개발자는 주문(어노테이션)만 붙이면, 스프링이 라이브러리 내부 코드를 이용해서 알아서 처리한다.


🔹 요약

  • 스프링 프레임워크 = “자동화된 개발 편의 도구 상자”

  • 어노테이션 = 선언적 신호

  • 라이브러리 = 그 신호를 실제로 동작시키는 엔진


원하면 내가 Controller → Service → DAO → DB
전체 스프링 동작 흐름을 어노테이션 기준 + 내부 라이브러리 기준으로 그림으로 보여줄 수도 있음.

그림으로 보면 “어노테이션이 신호, 라이브러리가 엔진” 구조가 한눈에 보여서 이해가 빨라짐.

그려줄까?

댓글

가장 많이 본 글