프로젝트 정리
7. 회원 가입 : 리팩토링 및 테스트
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습 www.inflearn.com 리팩토링 하기전에 테스트 코드를 먼저 작성하자. 그래야 코드를 변경한 이후에 불안하지 않다. 변경한 코드가 무언가를 깨트리지 않았다는 것을 확인할 수 있다. 테스트 할 것 폼에 이상한 값이 들어간 경우에 다시 폼이 보여지는가? 폼에 값이 정상적인 경우 가입한 회원데이터나 존재하..
6 - 2 . 회원 가입 폼 서브밋 처리
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습 www.inflearn.com MailSenderAutoConfiguration 에서 MailSender 주입 받아 만들수도 있지만 임의 클래스 생성 콘솔에 출력하는 ConsoleMailSender package com.studyolle.account; import lombok.extern.slf4j.Slf..
6 - 1 . 회원 가입 : 폼 서브밋 검증
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습 www.inflearn.com 회원가입 폼 검증 JSR 303 애노테이션 검증 값의 길이, 필수값 커스텀 검증 중복 이메일, 닉네임 여부 확인 폼 에러 있을 시, 폼 다시 보여주기 회원 가입 처리 회원 정보 저장 인증 이메일 발송 처리 후 첫 페이지로 리다이렉트 ( Post-Redirect-Get 패턴) 실..
5. 회원가입 뷰
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습 www.inflearn.com 부트스트랩 네비게이션 바 만들기 폼 만들기 타임리프 SignUpForm 타입 객체를 폼 객체로 설정하기 웹(HTML, CSS, JavaScript) 제약 검증 기능 사용하기 닉네임 (3~20자, 필수 입력) 이메일 (이메일 형식, 필수 입력) 패스워드 (8~50자, 필수 입력)..
4. 회원가입 컨트롤러
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습 www.inflearn.com 목표 Get "/sign-up" 요청을 받아서 account/sign-up.html 페이지를 보여준다. 회원 가입 폼에서 입력 받을 수 있는 정보를 "닉네임", "이메일", "패스워드" 폼 객체로 제공한다. model 객체에 닉네임 이메일 패스워드 객체를 생성 account p..
3. 계정 도메인
출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1/dashboard 3. Account 도메인 클래스 Account 도메인에 필요한 데이터 로그인 프로필 알림 설정 Lombok 어노테이션 @Getter @Setter @EqualsAndHashCode(of = "id") @Builder @AllArgsConstructor @NoArgsConstructor id만 사용하는 이유 => 연관관계가 복잡해질때 @EqualsAndHashCode(of = "id")에서 서로다른 연관관계를 계속해서 순환참조하느라 무한 루프 -> StackOverFlow가 발생할 수 있다. package com.studyolle.domain; ..