Notice
Recent Posts
Recent Comments
Link
반응형
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩
- 기초 코딩
- java
- javaspring
- 웹
- Spring Boot
- 마이바티스
- 자바스크립트기초문법
- 자바
- 리액트프로젝트세팅
- js
- 리액트세팅
- 기초코딩
- react
- 리액트초기세팅
- HTML
- mybatis
- CSS
- 자바스크립트 기초
- 구글 oauth
- springboot
- 스프링부트
- 자바스크립트
- 처음만나는자바스크립트
- Javascript
- 웹앱
- 구글캘린더api
- 전자정부 서버세팅
- 자바스크립트기초
- spring
Archives
- Today
- Total
인생 디벨로퍼
[Bank App] 6강 회원가입 만들기 본문
728x90
반응형
DTO 생성
package shop.mtcoding.bankapp.dto.user;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class JoinReqDto {
private String username;
private String password;
private String fullname;
}
Controller
@PostMapping("join")
public String join(JoinReqDto joinReqDto) {
// 1. 인증
// 2. 유효성 검사
if (joinReqDto.getUsername() == null || joinReqDto.getUsername().isEmpty()) {
throw new CustomException("username 을 입력해주세요", HttpStatus.BAD_REQUEST);
}
if (joinReqDto.getPassword() == null || joinReqDto.getPassword().isEmpty()) {
throw new CustomException("password 을 입력해주세요", HttpStatus.BAD_REQUEST);
}
if (joinReqDto.getFullname() == null || joinReqDto.getFullname().isEmpty()) {
throw new CustomException("fullname 을 입력해주세요", HttpStatus.BAD_REQUEST);
}
// 3. 서비스 호출
return "redirect:/loginForm";
}
Full-Name 을 입력하지 않았을때,
Service 만들기
package shop.mtcoding.bankapp.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import shop.mtcoding.bankapp.dto.user.JoinReqDto;
import shop.mtcoding.bankapp.handler.ex.CustomException;
import shop.mtcoding.bankapp.model.user.UserRepository;
@Service // Ioc
public class UserService {
@Autowired // DI
private UserRepository userRepository;
@Transactional
public void 회원가입(JoinReqDto joinReqDto) {
int result = userRepository.insert(joinReqDto);
if (result != 1) {
throw new CustomException("회원가입 실패", HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
결과 확인
- DI (Dependency Injection) : 의존성 주입 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식
- IoC (Inversion of Control) : "제어의 역전" 이라는 의미로, 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미
728x90
반응형
'Project > 개인 Project - Bank App' 카테고리의 다른 글
[Bank App] 8강 계좌생성하기 (0) | 2023.06.14 |
---|---|
[Bank App] 7강 로그인 만들기 (0) | 2023.06.14 |
[Bank App] 5강 익셉션 핸들러 만들기 (0) | 2023.06.10 |
[Bank App] 4강 JSP 파일 세팅 (0) | 2023.06.10 |
[Bank App] 3강 화면 구현 (0) | 2023.06.09 |