BackEnd(Java)/Spring Boot(19)
-
javax.Transactional vs spring.Transactional
문득 @Transcational 어노테이션을 사용하다가 문득 아래 임포트한 라이브러리들의 차이점이 무엇인지 궁금해서 찾아보게 되었다. import javax.transaction.Transactional; VS import org.springframework.transaction.annotation.Transactional;
2022.09.17 -
@RequestBody, @RequestParam, @ModelAttribute
스프링이 제공하는 요청값을 받는 @RequestBody, @RequestParam, @ModelAttribute 어노테이션에 대해서 알아보자. @RequestParam, @ModelAttribute - @RequestParam과 @ModelAttribute는 url에 담긴 요청 파라미터(쿼리 파라미터)를 식별하여 값을 가져온다. - 보통 url에 데이터가 담긴 요청이 들어 올 때 사용함 @RequestBody - @RequestBody는 Http Body에 담긴 내용을 식별하여 값을 가져온다. - 보통 JSON(JavaScript Object Notation)을 기반으로 통신하는 Http API, Rest API 통신에서 Message Body 내용을 가져올 때 사용함.
2022.06.26 -
org.springframework.web.multipart.support.missingservletrequestpartexception required request part 오류
개발환경 - Spring Boot 2.3.12 - gradle 오류 : org.springframework.web.multipart.support.missingservletrequestpartexception required request part 회사에서 postman을 사용하여 이미지 업로드 API 테스트 진행 중에 multipartfile을 받지 못해서 오류가 뜨게 되었음 구글링해서 찾아보니 버전 문제인거 같고(정확하진 않음...) 아래의 MultipartReseolver를 빈으로 등록하니 multipartfile가 잘받아졌음. @Bean public MultipartResolver multipartResolver() { org.springframework.web.multipart.commons.C..
2022.06.22 -
로깅에 대하여 알아보자
테스트 로그가 출력되는 포멧 확인 시간, 로그 레벨, 프로세스 ID, 쓰레드 명, 클래스명, 로그 메시지 로그 레벨 설정을 변경해서 출력 결과를 보자. LEVEL: TRACE > DEBUG > INFO > WARN > ERROR 개발 서버는 debug 출력 운영 서버는 info 출력 @Slf4j 로 변경 로그 레벨 설정 application.properties #전체 로그 레벨 설정(기본 info) logging.level.root=info #hello.springmvc 패키지와 그 하위 로그 레벨 설정 logging.level.hello.springmvc=debug 올바른 로그 사용법 log.debug("data="+data) 로그 출력 레벨을 info로 설정해도 해당 코드에 있는 "data="+dat..
2022.06.22 -
DTO <-> Entity 변환 과정
https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/ https://tanzu.vmware.com/developer/guides/spring-boot-testing/
2022.06.17 -
FrontController 패턴에 대해서 알아보자
Spring을 통하여 개발을 할 때 MVC 패턴을 적용하여 layer를 나누어서 개발을 진행한다.(그림 1 참고) 그러나, MVC 패턴에서의 컨트롤러의 단점이 존재한다. 단점 1. 포워드 중복 : View layer로 이동하는 코드가 항상 중복 호출된다. 클래스를 만들어 공통화해도 되지만, 결국 호출하는 코드가 각각 들어가게 된다. RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); 2. ViewPath 중복 : jsp 경로가 변경되면 전체 코드를 다 변경해줘야 한다. String viewPath = "/WEB-INF/views/new-form.jsp"; 3. ..
2022.06.11