[우아한테크코스] 5월 25일 TIL
[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 = "이메일에는 특수문자가 포함될 수 없습니다.")