
Spring은 자바 플랫폼을 위한 유연한 애플리케이션 프레임워크입니다. 주요 목표는 엔터프라이즈급 애플리케이션을 쉽게 개발하고 유지보수할 수 있도록 하는 것입니다. Spring Framework는 다양한 모듈로 구성됨
IoC는 객체의 생성과 의존성 관리를 프레임워크가 담당하는 것을 의미. 이는 애플리케이션 코드의 결합도를 낮추고 테스트 용이성을 높입니다.
DI (Dependency Injection)
Spring은 DI 패턴을 통해 객체의 의존성을 설정파일이나 어노테이션을 사용해 주입합니다.
AOP (Aspect-Oriented Programming)
AOP는 횡단 관심사를 모듈화할 수 있게 합니다. 이는 핵심 비즈니스 로직과 부가 기능을 분리하여 코드의 유지보수성을 높입니다.
Spring MVC는 웹 애플리케이션 개발을 위한 프레임워크로, 요청을 처리하고 응답을 생성하는데 필요한 구조를 제공합니다.
@Controller, @RequestMapping 등의 어노테이션을 사용하여 컨트롤러를 정의하고 요청을 매핑합니다.
Spring은 선언적 트랜잭션 관리 기능을 제공하여 트랜잭션을 쉽게 관리할 수 있습니다. 이는 데이터 일관성을 유지하는 데 도움을 줌.
Spring은 JPA 등의 다양한 데이터 접근 기술을 지원합니다. 이는 데이터베이스 연동을 간편하게 하고 코드의 재사용성을 높인다.
Spring Security는 인증과 권한 부여를 위한 포괄적인 보안 솔루션을 제공.
Spring은 다양한 외부 시스템과의 통합을 위한 기능을 제공하며, 이를 통해 메시징, 원격 처리, 웹 서비스 등을 쉽게 구현할 수 있습니다.
애플리케이션의 데이터를 나타냅니다. 서비스 계층과 통신하며 비즈니스 로직을 수행합니다.
일반적으로 도메인 객체나 POJO(Plain Old Java Object)로 구현됩니다.
사용자에게 데이터를 표시하는 역할을 합니다. JSP, Thymeleaf, FreeMarker 등의 템플릿 엔진을 사용하여 구현할 수 있습니다.
컨트롤러에서 제공한 모델 데이터를 사용하여 사용자에게 HTML, JSON, XML 등의 형식으로 데이터를 렌더링합니다.
사용자의 요청을 처리하고 적절한 뷰를 선택하여 응답을 생성합니다.
요청 매핑, 모델 데이터 설정, 뷰 이름 반환 등을 담당합니다.
클래스를 컨트롤러로 표시합니다.
HTTP 메서드(GET, POST, PUT, DELETE 등)와 요청 URL을 매핑합니다.
요청 파라미터를 메서드 매개변수에 바인딩합니다. 기본값을 설정할 수 있습니다.
URL 경로의 일부를 메서드 매개변수에 바인딩합니다.
요청 본문을 Java 객체로 변환합니다. 주로 JSON 데이터를 처리할 때 사용됩니다.
메서드가 반환하는 값을 HTTP 응답 본문으로 직접 전송합니다. 주로 RESTful 웹 서비스에서 사용됩니다.