๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

Spring๐Ÿ€/๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ7

[JPA] ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - user (UserService) ์ง€๋‚œ์‹œ๊ฐ„ ๊นŒ์ง€ entity, DTO, Repository ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค. ์˜ค๋Š˜์€ ํšŒ์› Serivce ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ UserService ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ๋‹ค. ๋จผ์ € ์„œ๋น„์Šค! ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋…? ์ •๋ฆฌ ํ•˜๊ณ  ๊ฐ€๊ฒ ๋‹ค. Service ๋ž€? ์ž Service๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ํฐ ํ‹€์„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Client๊ฐ€ Request๋ฅผ ๋ณด๋‚ธ๋‹ค.(Ajax, Axios, fetch๋“ฑ..) Request URL์— ์•Œ๋งž์€ Controller๊ฐ€ ์ˆ˜์‹  ๋ฐ›๋Š”๋‹ค. (@Controller , @RestController) Controller ๋Š” ๋„˜์–ด์˜จ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด Service ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. Service๋Š” ์•Œ๋งž์€ ์ •๋ณด๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ Controller์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ธด๋‹ค. Controller ๋Š” Service ์˜ ๊ฒฐ๊ณผ.. 2023. 2. 12.
[JPA] ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - user (UserRepository) UserRepository ์ฝ”๋“œ package com.example.projectpicker.user.repository; import com.example.projectpicker.user.entity.UserEntity; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository { UserEntity findByUserEmail(String email); boolean existsByUserEmail(String email); } ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” class๊ฐ€ ์•„๋‹Œ interface๋กœ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค. ์™œ? (์ž˜ ๋ชฐ๋ผ์„œ ๊ตฌ๊ธ€๋ง!) => Repository.. 2023. 2. 11.
[JPA] ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - user (LoginRequestDTO, LoginResponseDTO) ํšŒ์›๊ฐ€์ž… DTO๋ฅผ ๋ชจ๋‘ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ์ด์ œ ํšŒ์›๊ฐ€์ž… DTO๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋‹ˆ,, ๋กœ๊ทธ์ธ! DTO ๋„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž. ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ธฐ ์‹œํ‚ฌ๊ฒธ MVC ํ๋ฆ„์„ ํ•œ๋ฒˆ ๋ณด๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค. ๋จผ์ € ๋กœ๊ทธ์ธ ์š”์ฒญ DTO (LoginRequestDTO) ๋ถ€ํ„ฐ ๋งŒ๋“ค๊ฒ ๋‹ค. LoginRequestDTO ์ „์ฒด ์ฝ”๋“œ package com.example.projectpicker.user.dto; import lombok.*; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; // ํด๋ผ์ด์–ธํŠธ ----> ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ ์š”๊ตฌ!!๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” DTO (๋กœ๊ทธ.. 2023. 2. 11.
[JPA] ๊ฐ„๋‹จํ•œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - user (UserSignupResponse DTO) ์ด์ „ ์‹œ๊ฐ„ UserSignUpDTO (ํšŒ์›๊ฐ€์ž… ์š”์ฒญ DTO) ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ–ˆ๋‹ค. ์ด์ œ ํšŒ์›๊ฐ€์ž… ์š”์ฒญ์„ ํ–ˆ์œผ๋ฉด ์‘๋‹ต์ด ์žˆ์–ด์•ผ๋˜๋‹ˆ๊นŒ ๊ทธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด DTO๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ผ๋‹จ ๋‹ค์‹œ ํ•œ๋ฒˆ MVC ํ๋ฆ„์— ๋Œ€ํ•ด ๋ณด๊ณ  ์‹œ์ž‘ํ•˜์ž UserSignUpResponseDTO ๋ฅผ ๋งŒ๋“ค๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‘๋‹ต๋ฐฉํ–ฅ์ด๋‹ค! (์žŠ์ง€๋งˆ) ๊ทธ๋Ÿฌ๋ฉด ์ง€๋‚œ๋ฒˆ ํšŒ์›๊ฐ€์ž… ์š”์ฒญ DTO์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Entity ์—์„œ DTO๋กœ ๊ฐ€์•ผ๋˜๋Š” ํ๋ฆ„์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.(์œ„ ์‚ฌ์ง„ ์ฐธ๊ณ ) UserSignUpResponseDTO ์ „์ฒด ์ฝ”๋“œ package com.example.projectpicker.user.dto; import com.example.projectpicker.user.entity.UserEntity; import com.fasterxml... 2023. 2. 11.
728x90
๋ฐ˜์‘ํ˜•