본문 바로가기
관리자

분류 전체보기

(999)
[링크][중요] Mapstruct 라이브러리, DTO와 Entity 검증의 주체가 되야하는 부분 1. Mapstruct 라이브러리 DTO 와 Entity간 변환을 쉽게 해주는 라이브러리다. [1] [보통 사용자의 입력값을 PO(Parameter Object)로 받아와서 DTO로 변환한다. 그리고 DTO의 값들을 Entity에 하나씩 넣어준 뒤 DB에서 Entity를 save 또는 update 하는 방식을 사용한다. 이 과정에서 DTO를 Entity로 바꿀 때, 또는 반대로 Entity를 기반으로 DTO로 바꿀 때 사용한다.] 필드값이 100개인 Entity의 100개 필드값을 DTO를 통해서 하나씩 전달해줄려면, Entity.setXxx(DTO.getXxx) 등으로 100개의 항목을 작성해줘야할 수도 있다. 그런데 Mapstruct의 @Mapper 방식을 사용하면 한줄만으로 이런 작업을 끝낼 수도 ..
[링크] @Transient 어노테이션 의미, 사용 시 유의사항 요약 @Transient 어노테이션은 @Entity 어노테이션이 정의된, 엔티티 클래스에서 사용한다. 사용목적은 JPA에서 엔티티의 필드값들을 영속성 객체로 관리하는데, 관리 대상에서 해당 필드나 메서드를 제외하기 위함이다. 예를 들어 아래와 같이 엔티티 클래스에 두 가지 필드가 존재하는 경우, private String password; @Transient private String confirmedPassword; confirmedPassword 필드는 단순 확인용이므로 데이터베이스상에 저장되는 값이 아니고, 영속성 객체로 관리될 필요도 없다. 이럴 경우 @Transient 어노테이션을 사용한다. 메서드에도 사용할 수 있는데, 필요시 관련 상세 내용은 링크에서 확인하자. 링크 https://gmoon..
[스프링 웹MVC-2] 16. API 예외 처리 - 스프링부트 기본 오류 처리, HandlerExceptionResolver 1. 서블릿 API 오류 처리 API 방식 오류 처리 이전 글에서는 4xx, 5xx 등 Http 상태코드에 따라 오류 페이지를 클라이언트에 보여주는 형식으로 처리했다. 상황에 따라 보여줄 페이지만 설정하면 되므로 상대적으로 간단한 방식이라 할 수 있다. 그러나, API 통신의 경우를 생각해보자. 만약 서버-서버간 API 통신을 한다고 생각해보면, HTML로 표현된 페이지를 보내서 통신을 할 수는 없다. 어떤 데이터 양식(ex. json 객체)으로 통신을 할지 규약을 정하고, 그에 맞게 데이터를 보내주어야 한다. 서블릿의 API 방식 오류 처리 이전 글에 이어서 진행을 했다면, WebServerCustomizer 클래스가 주석처리 되어있을 것이다. 주석을 풀고, 다시 Bean으로 등록하여 서블릿에 의해 A..
[스프링 웹MVC-2] 15. 예외 - 인터셉터와 스프링 부트의 오류 페이지 1. 인터셉터의 예외 처리 인터셉터의 예외 처리 방식과 설정 방법을 알아본다. LogInterceptor 작성 이전과 마찬가지로 LogInterceptor를 작성한다. 다만, 필터를 학습할 때와 마찬가지로 request.getDispatcherType()을 로그로 남기도록 한다. java/hello/exception/interceptor/LogInterceptor.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 @Slf4j public class LogInterceptor implements HandlerInterceptor { public static final String LOG_ID ..
[TIL] Maven 메이븐 환경설정 - Maven home path, intelliJ 메이븐 환경설정에서 Maven home path 가 Wrapper 등으로 잘못된 경우 Maven lifeCycle에서 clean, compile 등을 수행할 때 에러가 발생할 수 있다. 기본 IntelliJ에서 제공하는 번들링된 Maven을 home path로 지정해주면 된다. 다른 IDE를 사용하더라도, Maven에 문제가 생기면 home path를 확인해보는 것이 도움될 것 같다!
[스프링 웹MVC-2] 14. 예외 - 서블릿 오류 페이지 1. 서블릿 예외 발생 처리 방식 서블릿은 2가지 방식으로 예외 처리를 지원한다. Exception response.sendError(HTTP 상태코드, 오류 메시지) Exception이 발생하는 경우는 다시 2가지로 나뉜다. 자바 실행 통상 main 쓰레드를 실행하는 경우이며, 미리 짜놓은 코드에 의해 실행 중 예외가 발생하지 않고 main 메서드를 넘어서 예외가 발생하면 예외 정보를 남기고 쓰레드가 종료된다. 웹 애플리케이션 웹 애플리케이션은 요청별로 쓰레드가 할당되고, 서블릿 컨테이너 안에서 실행된다. 자바 실행의 경우와 마찬가지로 미리 짜놓은 try ~ catch 문 등으로 예외를 잡아내면 상관없지만, 예외를 잡지 못해서 서블릿 밖으로까지 예외가 전달되면 아래와 같은 도식으로 예외가 전파된다. WAS
[링크][작성중] SQL Server Naming Convention 참조1의 내용을 바탕으로함 1. 테이블 이름 약어를 tbl로 쓰고, 이름은 복수형으로 쓴다. tblEmployees, tblOrders, tblProducts 2. 제약 조건 PK : Primary Key, FK : Foreign Key, UQ : Unique Key, DF : Default, CHK : Check PK_Employees, PK_Orders, PK_Products FK_Orders_Employees, FK_Items_Products (Target 테이블_Source 테이블 순) UQ_Employees_EmailID, UQ_Items_Code (테이블 이름_컬럼 이름) DF_Employees_IsActive, DF_Employees_CreateDate(테이블 이름_컬럼 이름) CHK_Emp..
[비공개] Weekly Report - 21/08/30~21/09/05, 434일차 보호되어 있는 글입니다.