2023/10/17 5

[Spring Data JPA] 1. Core concepts

1. Repository 인터페이스Spring Data의 중심 인터페이스입니다.개념설명마커 인터페이스- 객체의 특정 성질을 표시하기 위해 사용- 타입 정보만을 포착하고 식별하는 데 사용 (메서드 정의 ❌)쿼리 메서드 자동 생성메서드 이름을 분석하여 자동으로 적절한 쿼리를 생성해줌Spring Data JPASpring Data JPA는 Repository 인터페이스를 자동으로 구현하여 CRUD 작업을 제공합니다. 코드) Repository더보기@Indexedpublic interface Repository { } 타입 인자T: 도메인 클래스ID: 도메인 클래스의 식별자 타입 예제) 쿼리 메서드 자동 생성더보기interface UserRepository extends CrudRepository { l..

[Spring MVC] 4-3. Handler Methods: Controller Advice

1. Controller Advice항목설명사용 어노테이션- @ControllerAdvice- @RestControllerAdvice: @ControllerAdvice + @ResponseBody 조합기본 적용 범위메서드가 선언된 @Controller 클래스 내에서만 적용됨동작 기반 구성 요소RequestMappingHandlerMapping,ExceptionHandlerExceptionResolver가 감지하여 적용내부 구성 가능 메서드@ExceptionHandler, @InitBinder, @ModelAttribute- @ExceptionHandler 우선순위로컬 메서드가 전역 메서드보다 우선 적용됨- @InitBinder / @ModelAttribute 우선순위전역 메서드가 로컬 메서드보다 우선 적..

Spring/Spring MVC 2023.10.17

[Spring MVC] 5. @InitBinder

1. @InitBinderWebDataBinder 객체를 초기화하는 데 사용되는 메서드를 표시하는 어노테이션입니다.컨트롤러에서 요청 데이터의 바인딩과 변환을 제어하고 사용자 정의하는데 유용한 도구입니다. WebDataBinder스프링의 데이터 바인딩과 유효성 검사 기능을 제공합니다.설정을 조정하여 특정 데이터 형식이나 커스텀 타입을 제대로 처리할 수 있습니다.항목설명문자열 기반 요청 값 변환요청 파라미터, 경로 변수, 헤더, 쿠키 등의 문자열 값을 컨트롤러 메서드의 타겟 타입으로 변환적용 대상- 요청 파라미터- 경로 변수 (PathVariable)- 헤더 값 (RequestHeader)- 쿠키 값 (CookieValue)요청 파라미터 바인딩클라이언트로부터의 요청 파라미터를 모델 객체에 바인딩모델 객체 값..

Spring/Spring MVC 2023.10.17

[Spring MVC] 4-2. Handler Methods: Type Conversion

1. Type Conversion항목설명문자열 변환 (기본 방식)@RequestParam, @PathVariable, @RequestHeader 등은 기본적으로 문자열 처리문자열이 아닌 변환인자가 String이 아닌 경우, 등록된 Converter, Formatter를 통해 자동 타입 변환 수행 예제) 문자열 변환더보기1. 기본 제공 구현체@GetMapping("/user")public String get(@RequestParam("newName") String newName, Model model) { model.addAttribute("message", "다음번에 갱신할 이름: " + newName); return "home";} 2. 커스터마이징public class StringToUse..

Spring/Spring MVC 2023.10.17

[Spring MVC] 4-1. Handler Methods: Method Arguments

1. Method ArgumentsSpring MVC에서 지원하는 handler method의 argument 입니다. Class클래스설명WebRequestNativeWebRequest직접 Servlet API를 사용하지 않고 요청 매개변수 및 요청 및 세션 속성에 액세스할 수 있습니다.jakarta.servlet.ServletRequestjakarta.servlet.ServletResponse웹 요청과 응답에 대한 기본 인터페이스입니다.다양한 요청 및 응답 유형에 대한 액세스를 제공합니다.HttpServletRequest와 같은 구체적인 서블릿 요청 유형으로 캐스팅될 수 있습니다.(ServletRequest, HttpServletRequest)(Spring’s MultipartRequest, Multi..

Spring/Spring MVC 2023.10.17