본문 바로가기
728x90

Spring4

[Spring] @Value와 @ConfigurationProperties @Value와 @ConfigurationProperties @Value와 @ConfigurationProperties는 외부 설정 값들인 Property들을 주입받아 사용할 수 있게 해주는 어노테이션입니다. 굳이 Java 내부에서 직접 사용하지 않고 외부 설정 파일에 있는 Property 값들을 주입받아서 사용하는 이유는 크게 2가지 이유가 있습니다. 관리하기 편하다. 특정 값(value)이 여러 곳에서 사용할 경우 관리하기 편리해집니다. 예를 들어 실행 환경, 서버 설정 값, 중요 key값들을 예로 들 수 있습니다. Property의 값만 변경하면 사용하는 곳에도 적용되어 유지보수가 용이해집니다. 중요한 정보를 노출시키지 않는다 특정 API들을 사용하기 위해서는 누구인지 식별하기 위한 API key가 .. 2023. 7. 9.
[Spring] Bean Validation과 Custom Validation Bean Validation 클라이언트의 요청 값에 대한 유효성 검사로 잘못 입력된 값에 대한 처리를 할 수 있는 유효성 검사 표준 기술입니다. 개발을 진행하다 보면 특정 요청 값이 필수(null, 빈문자 제외), 최소 문자열 길이, 최소 값, 최대 값 등 필요한 데이터 검증이 필요할 때가 있는데 Bean Validation은 일반적으로 많이 사용하는 제약 조건들이 제공하기 때문에 쉽게 어노테이션으로 유효성 검사를 할 수 있도록 도와줍니다. 만약 Bean Validation을 사용하지 않으면 어떻게 될까요? 위 이미지에서 볼 수 있듯이 Bean Validation을 사용하지 않으면 요청 값에 대한 Validation Code를 비즈니스 로직에서 찾아야 하는 문제가 발생합니다. 만약 코드 컨벤션이 정해져 .. 2023. 7. 8.
[Spring] HTTP 요청 데이터 바인딩(@RequestParam, @ModelAttribute, @RequestBody, @RequestHeader) HTTP 요청 데이터 바인딩 클라이언트가 서버로 요청을 보낼 때는 일반적으로 요청에 필요한 데이터를 path parameter, request variable, body, header 등에 실어서 요청합니다. Spring에서는 요청 데이터를 바인딩할 수 있는 어노테이션들을 제공하는데 주로 사용하는 어노테이션은 @PathVarible, @RequestParam, @RequestBody, @ModelAttribute, @RequestHeader 등이 있습니다. 1. 경로 변수(Path Variable) 바인딩 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface PathVariable { .. 2023. 7. 2.
[Spring] HTTP 요청 매핑 어노테이션(@RequestMapping) HTTP 요청 매핑 어노테이션(@RequestMapping) HTTP 요청 매핑 어노테이션에 대해 알기 위해서는 REST API에 대해서도 알아야 합니다. REST API를 간단히 설명하자면 Representational State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 말하며 웹 서비스 간에 데이터를 주고받기 위한 표준화된 방법을 제공하는 프로토콜입니다. 주요 특징 자원(Resouce) - REST API는 자원을 고유한 식별자인 URI(Uniform Resource Identifier)를 통해 표현 - ex) /member → 멤버 자원, /products → 제품 자원 HTTP methods - REST API는 HTTP methods를 사용하여 자.. 2023. 7. 1.
728x90