728x90 반응형 java5 @NotNull, @NotEmpty, @NotBlank 문자열 검증 @NotNull- Type : 어떤 타입이든 수용.- null 이 아닌 값. @NotEmpty- Type : CharSequence (length of character) Collection (collection size) Map (map size Array (array length)- null 이거나 empty(빈 문자열)가 아니어야 한다. @NotBlank - null 이 아닌 값.- 공백이 아닌 문자를 하나 이상 포함. @NotNull : 반드시 값이 있어야 한다.@NotEmpty : 반드시 값이 존재하고 길이 혹은 크기가 0보다 커야한다. (공백가능)@NotBlank : 반드시 값이 존재하고 공백 문자를 제외한 길이가 0보다 커야 한다. (가장 강력) 출처https://blog.n.. 2022. 8. 30. Java Date 날짜, 시간 패턴 바꾸기 개발을 하다가 시간 패턴을 바꿔야 하는 일이 생겼다. 처음엔 몰라서 이것 저것 찾다가 해결하고 까먹을까봐 적어놓는다. 직면한 문제 DB에서 데이터를 가져왔더니 "2016-02-05 오후 06:42:47" 로 나오더라 하지만 내가 필요한건 "20160205184247" 패턴이다. 사실 좀 더 정확히 말하면 DB에는 "2016-02-05 18:42:47.000" 로 담겨있는데 쿼리에서 SELECT replace(replace(to_char(write_dt, 'yyyy-mm-dd am hh:mi:ss'), 'am', '오전'), 'pm', '오후') write_dt, 로 가져온다. 쿼리를 바꾸면 되지 않느냐고 할 수 있지만 그럴 수가 없는 상황이었다. 이미 개발되어 있는 API의 기능을 가져다 쓰는 경우였기 .. 2022. 8. 12. Java Mockito when(), BDDMokito given() 개발을 하면서 Junit5 Unit Test Framework 를 이용한 테스트코드를 작성하는데 다른 개발자분들이 짜놓은 코드를 보니 첫번째, 두번째, 세번째 Layer 는 given() 함수로 써있는데 마지막 네번째 Layer 만 when() 함수로 작성되어있었다. 그래서 무슨 이유가 있나? 하고 두 함수에 대해 찾아보았다. 테스트를 위해 Mock 객체를 만들고 리턴값을 설정하기 위해 Mockito의 when()함수를 쓰거나 BDDMockito의 given() 함수를 사용한다. 이 둘의 차이점에 대해 간단히 알아보자. BDD(Behavior-Driven Development) 란? - 행위 주도 개발 - 테스트 대상의 상태의 변화를 테스트하는 것이고, 시나리오를 기반으로 테스트하는 패턴을 권장 -.. 2022. 8. 8. logging @Slf4j 로깅이란 - 로깅(logging)은 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동을 말한다. 로그 레벨 - 레벨에 따라서 로그 메세지가 달라진다. - TRACE - ERROR: 요청을 처리하는 중 오류가 발생한 경우를 표시한다. - WARN: 처리 가능한 문제, 시스템 에러의 원인이 될 수 있는 경고성 메시지를 표시한다. - INFO: 상태 변경과 같은 정보성 로그를 표시한다. - DEBUG: 프로그램을 디버깅하기 위한 정보를 표시한다. - TRACE: 추적 레벨은 DEBUG보다 좀 더 상세한 정보를 표시한다. * xml 파일에 원하는 레벨만 설정 가능 주요 Logging Framework - java.util.logging - Apache Commons log.. 2022. 8. 5. lombok 라이브러리 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor @AllArgsConstructor - import lombok.AllArgsConstructor; - 모든 변수를 사용하는 생성자를 자동완성시켜주는 어노테이션이다. @NoArgsConstructor - import lombok.NoArgsConstructor; - 기본 생성자를 자동완성시켜주는 어노테이션이다. @RequiredArgsConstructor - import lombok.RequiredArgsConstructor; - 특정 변수만 활용하는 생성자를 자동 생성해주는 어노테이션이다. 생성자의 인자로 추가하는 방법으로는 @NonNull어노테이션과 변수를 final로 선언하는 두 가지 방법이 있다. @AllArgsConstructor(access = AccessLevel.PRIVATE.. 2022. 8. 4. 이전 1 다음 728x90 반응형