[Springboot] @PreConstruct와 @PreDestory 의미 사용법
·
스터디/Spring
목차   1. 스프링 빈의 생명 주기스프링 빈의 생명 주기를 먼저 살펴보면 아래와 같습니다.스프링 컨테이너 생성스프링 빈 생성의존 관계 주입 (DI)초기화 콜백 - 빈이 생성되고 빈의 의존성이 주입된 이후 호출된다. 애플리케이션 동작 및 데이터 사용소멸전 콜백 - 빈이 소멸되기 직전에 호출된다.스프링 종료 2.@PostConstructPostConstruct 어노테이션이란 무엇이며 언제 사용할까요?객체를 초기화 할 때 수행한다.객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드를 선언하여 사용한다.@PostConstruct 어노테이션을 설정해놓은 init 메소드는 WAS 가 띄워질 때 실행된다.@PostConstructpublic void init() { System.out.println("초기..
[Spring] 스프링에서 특정 HTTP 응답코드 반환하기 (ResponseEntity, @ResponseStatus)
·
스터디/Spring
목차   1. Spring 에서 HTTP 응답상태 코드Spring은 HTTP 응답 상태 코드를 사용자 정의 할 수 있는 다음과 같은 방법을 제공합니다.ResponseEntity 객체 응답@ResponseStatus 어노테이션ResponseStatusException 예외 발생 2. ResponseEntityResponseEntity 인스턴스와 함께 HTTP 응답 상태 코드를 전송할 수 있습니다.예시 코드요청을 통해서 전달 받은 Student 인스턴스를 생성하는 API가 있고, API를 호출했을 때 성공적으로 수행했을 때 Spring에서는 200 응답 코드를 보냅니다.요청을 통해서 전달 받은 Student 인스턴스를 생성하는 API에서 성공적으로 처리가 완료되면 201(CREATED) 응답을 보내고 싶을 ..
[Spring] Springboot 버전에 따른 validation 패키지 (org.hibernate.validator.constraints does not exist)
·
스터디/Spring
목차   1. javax와 jakarta package 의 Validation이슈 내용Springboot 2.x 버전에서 Springboot 3.x 버전으로 업데이트한 뒤 Validation 관련 어노테이션을 적용할 때 에러가 발생하였습니다.에러 메시지package org.hibernate.validator.constraints does not existcannot find symbol symbol : class NotBlankjavax 패키지의 Validation을 사용하였고 build.gradle에 필요한 모듈을 모두 추가했음에도 에러가 발생하였습니다.build.gradle...implementation("org.springframework.boot:spring-boot-starter-validat..
[Spring] PUT 과 PATCH 사용시 주의할 점
·
스터디/Spring
목차   1. Spring 에서 PUT 과 PATCH 사용 시 발생하는 이슈일반적으로 PUT은 전체 수정, PATCH 는 일부 필드 수정으로 이해하고 사용하고있습니다.Spring 을 사용하면서 해당 Http Method 를 사용하다가 이슈가 발생한 경험이있는데요, 어떤 이슈가 있었고 어떻게 해결하는지 알아보겠습니다.  2. PUT method예시 코드class TestController { @PutMapping("/test/put") public void putSample( @RequestBody Task task) { System.out.println(task); }}class Task { private String title; private String content; ...}  Reque..
[Spring] PUT 과 PATCH 차이
·
스터디/Spring
PATCH /customers?id=1{ name : AA, balance : 0}목차   1.PUT 메소드정의The HTTP PUT request method creates a new resource or replaces a representation of the target resource with the request payload.HTTP PUT 메서드는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체합니다. UPDATE 방식예시아래와 같은 데이터가 존재한다고 가정합니다.idbalancename1100A220B3-120C id=1 인 유저의 데이터를 아래와 같이 두 케이스로 PUT 요청을 보냈다고 했을 때 결과는 다음과 같습니다.요청 1)PUT /cu..
[Spring] MultiValueMap 의미와 사용법
·
스터디/Spring
목차 1. 개요 코드 작업 중에 MultiValueMap 이라는 인터페이스를 알게되었습니다. MultiValueMap 은 URLScheme을 생성할 때 url 파라미터를 셋팅 할 때 사용하였습니다. public String generateTaskViewAppScheme(String domainId, String projectId, String taskId) { LinkedMultiValueMap params = new LinkedMultiValueMap(); params.add("domainId", domainId); params.add("projectId", projectId); params.add("taskId", taskId); params.add("version", "18"); String app..