1. 구글 계정 설정1. 구글 계정 관리 - 보안2. 2단계 인증 설정 3. https://myaccount.google.com/apppasswords?pli=1&rapt=AEjHL4P8w5kYAfKVM2_3oI0BmvNBr5y26BQ9BdqvsygxCX-T8SqtdRqtzDeNu-wirFxYI1QISHwwPq4IFV-WS7-3UBpGn7L8iKu3oiFQkVEVxcYHufUNaoc 링크로 접속해 앱 비밀번호 생성4. 16자리 앱 비밀번호 확인 및 복사 2. 구글 메일 설정1. Gmail - 설정 - 전달 및 POP/IMAP 탭 클릭2. 모든 메일에 POP 사용하기 체크3. IMAP 사용 체크4. 나머지는 하고 싶은 대로 커스터마이징5. 스크롤 내려 변경 사항 저장 버튼 클릭 3. 의존성 + pro..
값에 null이어서 생기는 예외를 막기 위해 어노테이션을 사용하곤 한다.jakarta.validation.constraints 패키지 하위에 존재하는비슷하면서도 다른 세 가지 어노테이션을 비교하려고 한다. 1. @NotNull말 그대로 Null을 허용하지 않는다.그런데 Null만 허용하지 않으므로 ""(초기화된 String)이나 " "(공백)은 허용하게 된다.만약 ""이나 " "을 허용하지 않으면 이걸 사용해서는 안 된다.""와 " "을 허용하되, Null이 들어오게 되면 로직에 예외가 발생할 경우 사용해야 한다.정수값을 사용해야 할 경우 사용하면 좋다. (물론 그 외에도 두루 쓰임) 2. @NotEmpty@NotEmpty는 null과 "" 둘 다 허용하지 않는다.@NotNull에서 "" validati..
1. JPA(Query Method) 쿼리 메소드 사용하려는 Repository에 JpaRepository만 상속해주면 스프링 AOP 기능을 사용해 구현까지 자동으로 해준다.간단한 문법으로 객체의 CRUD가 가능하다.형태: find + ("객체") + By + "변수"사용 예시Board findById(Integer Id)// -> id를 사용해서 해당하는 게시글을 가져온다.List findByTitle(String title)// -> title 변수명을 사용해서 해당하는 모든 게시글을 가져온다.장점개발자가 사용하기 쉽도록 자동으로 쿼리를 만들어줌기본(Hibernate)으로 쿼리를 자동 생성함단점쿼리 작성에 유연하지 않음복잡한 조건을 사용하려면 메소드의 길이가 증가함매핑하여 사용하므로 DB에 직접적으로..