[우아한테크코스] 5월 25일 TIL

less than 1 minute read

[Spring] Configuration

xml 파일로 bean 등록하기
학습테스트 해보기 @Configuration 주면 메타 데이터 줄 수 있어진다.

@Bean 
public AuthService authService() {
    return new AuthService();
}

@PropertiesSource, @Value를 통해 외부 파일의 값 받아오기

spring core 공식문서 읽고 정리하기

  • 에어 테코톡 auto-configuration 디버깅하며 공부

[IntelliJ] 내가 원하는 설정 적용해서 돌리기

application-local, application-test, application-prod와 같이 설정이 나뉠때
빌드 망치 옆에 select box -> edit configurations -> active profiles에서 원하는 설정 선택
혹은, active profiles 이므로 @Profile("local")를 주고 특정 클래스를 상황에 따라 돌리거나, @ActiveProfiles("test") 같이 설정을 주고 돌릴 수도 있다.

[Spring] validation

  • validation으로 잘못된 거를 customException으로 잡아서 던지기
      @ExceptionHandler(MethodArgumentNotValidException.class)
      public ResponseEntity<ExceptionResponse> validExceptionHandle(MethodArgumentNotValidException e) {
          String message = Objects.requireNonNull(e.getBindingResult().getFieldError()).getDefaultMessage();
          ExceptionResponse exceptionResponse = new ExceptionResponse(new InvalidInputException(message));
          return ResponseEntity.badRequest().body(exceptionResponse);
      }
    
  • Notnull vs NotEmpty vs NotBlank
    NotNull: null만 비허용 NotEmpty: null과 Blank(““만) 다 비허용 NotBlank: Blank만 비허용 “”, “ “
  • @Email 이메일 형식에 맞는지 확인
    null이 가능하다고 보므로 NotNull 확인 필요
  • @Pattern
      @Pattern(regexp = "^[a-zA-Z0-9._%+]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]*$", message = "이메일에는 특수문자가 포함될 수 없습니다.")
    

    정규표현식