spring 썸네일형 리스트형 [Spring] Validation @Email은 null을 허용한다. 배경 회원가입 및 로그인 시 이메일 형식, 닉네임 글자 수 제한, 비밀번호 규칙 등 사용자가 입력한 데이터를 DB에 저장하기 전에 데이터에 대한 유효성을 체크하는 작업은 프론트단뿐 아니라 백엔드에서도 반드시 필요한 작업입니다. Spring 에서는 spring boot validation starter에 대한 의존성을 추가함으로써 어노테이션을 기반으로 쉽게 유효성 체크를 할 수 있습니다. org.springframework.boot spring-boot-starter-validation 문제 인식 (세부적인 어노테이션 소개는 각설하고) 이메일 형식에 대한 유효성을 체크할 때 @Email을 사용하는데 이상한 점을 발견했습니다. 아래 테스트 코드를 주목해 주세요. import org.junit.jupiter... [Spring boot] @Vlaue로 불러온 외부설정 값이 null인 경우 해결 방법 동아리에서 진행하는 프로젝트 내에서 코드리뷰를 진행하고 있었고, 다음과 같은 피드백을 받게 되었다. TOKEN_KEY는 우리가 만드려는 서비스에서 로그인이 성공적으로 완료되었을 때, 클라이언트에게 넘겨주는 jwt의 키 값으로 사용된다. 자주 사용되기도 하고, 보안 측면에서도 따로 관리되야할 필요가 있기 때문에 application.yml로 따로 관리하기 위해 코드를 수정하였다. @Value라는 어노테이션을 이용하면 외부 설정 파일에서 값을 Java 객체로 받아올 수 있었다. 방법은 아주 쉬운데 @Value(${})로 ${} 사이에 yml에 작성한 경로(?)를 입력하면 된다. 예를 들어, 위와 같이 yml에 작성을 했다면 다음과 같이 입력하면 된다. 이렇게 쉬운 길을 눈 앞에 두고, 나는 삽질을 하기 시작.. [Spring Boot] 갓 초기화한 스프링 부트 프로젝트 살펴보기 프로젝트를 구성하는 주요 파일 - build.gradle : 그래들 빌드 명세 - gradlew : 그래들 래퍼 - Application.java : 애플리케이션의 부트스트랩 클래스이자 주 스프링 구성 클래스 - application.properties : 애플리케이션과 스프링 부트 프로퍼티를 구성하는 데 사용하는 파일 - ApplicationTests.java : 기본 통합 테스트 클래스 Application.java Application.java는 스프링 부트 애플리케이션에서 구성과 부트스트래핑 두 가지 역할을 담당. 1. 스프링 구성 클래스 @SpringBootApplication : 스프링 컴포넌트 검색과 스프링 부트 자동 구성을 활성화한다. 이 애너테이션은 유용한 애너테이션 세 개를 묶은 것 (.. [Spring boot] 스프링 부트의 핵심 자동 구성 많은 스프링 애플리케이션에 공통으로 필요한 애플리케이션 기능을 자동으로 구성함 어떤 스프링 애플리케이션의 소스 코드에서든 애플리케이션의 특정한 지원 특징과 기능을 활성화하는 자바 구성이나 XML 구성(또는 둘 다)을 볼 수 있다. 예를 들어 JDBC로 관계형 데이터베이스에 접속하는 애플리케이션을 작성했다면 아마 스프링 애플리케이션 컨텍스트에 스프링 JdbcTemplate을 빈으로 구성했을 것. 빈 구성 메서드 모두 아주 복잡하거나 길지 않다. 하지만 둘 다 일반적인 스프링 애플리케이션의 구성에서 일부만 보여 준다. 메서드가 동일한 스프링 애플리케이션이 수도 없이 많다. 즉, 보일러플레이트 구성이다. 이런 일이 흔하게 일어난다면 일일이 작성할 필요가 없음. 스프링 부트는 이런 공통 구성 시나리오.. 이전 1 다음