[250310] TIL
์ค๋ ํ ์ผ
์ฃผ์ ํจํค์ง ์ญํ
1. ์ปจํธ๋กค๋ฌ (Controller)
- HTTP ์์ฒญ์ ๋ฐ๊ณ ์๋ต์ ๋ฐํํ๋ ์ญํ
- URL ๋งคํ ๋ฐ ์์ฒญ/์๋ต ์ฒ๋ฆฌ๋ฅผ ๋ด๋น
- @Controller ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ์ปจํธ๋กค๋ฌ ํด๋์ค๋ก ์ง์
- @GetMapping, @PostMapping ๋ฑ์ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ URL ๋งคํ
2. ์๋น์ค (Service)
- ๋น์ฆ๋์ค ๋ก์ง ์ฒ๋ฆฌ
- ์ฐ์ฐ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- @Service ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ์๋น์ค ํด๋์ค๋ก ์ง์
- @Transactional ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ํธ๋์ญ์ ์ฒ๋ฆฌ
- Repository์ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐํ ๋ฐ ์กฐ์
3. ๋ ํฌ์งํ ๋ฆฌ (Repository)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ณ ๋ฐ์ดํฐ ์กฐํ ๋ฐ ์กฐ์
- @Repository ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ๋ ํฌ์งํ ๋ฆฌ ํด๋์ค๋ก ์ง์
- JPA Repository๋ฅผ ์์๋ฐ์ ๊ธฐ๋ณธ์ ์ธ CRUD ์์ ์ ๊ณต
- JPA ์ฌ์ฉ ์ ์ธํฐํ์ด์ค๋ง์ผ๋ก๋ ๊ตฌํ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ์ ๊ทผ ๊ด๋ ค ๋ก์ง ์บก์ํ
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByEmail(String email);
// ์ฟผ๋ฆฌ ๋ฉ์๋๋ค...
}
4. ์ํฐํฐ (Entity)
- ์์น : entity, model, domain ํจํค์ง์ ์์น
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ๊ณผ ๋งคํ๋๋ ๊ฐ์ฒด
- @Entity ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ ์ํฐํฐ ํด๋์ค๋ก ์ง์
- ํ ์ด๋ธ ๊ตฌ์กฐ๋ฅผ ์๋ฐ ํด๋์ค๋ก ํํ
- ์ฃผ๋ก Getter, Setter, ์์ฑ์, ๋ฉ์๋ ๋ฑ์ ํฌํจ
- Lombok ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ๊ฐ๊ฒฐํ
@Entity
@Getter
@Setter
์๋ฐ ํ๋ก์ ํธ ํจํค์ง ๊ตฌ์กฐ๋ค
- ๊ณ์ธต ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ๋๋ฉ์ธ ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๊ตฌ์กฐ
- ํต์ฌ๊ณ ๋ ์ํคํ ์ฒ
- ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๊ตฌ์กฐ
๋ด๊ฐ ์ ํํ ํจํค์ง ๊ตฌ์กฐ
๋๋ฉ์ธ ๊ธฐ๋ฐ ๊ตฌ์กฐ
com.example.project
โโโ user
โ โโโ UserController
โ โโโ UserService
โ โโโ UserRepository
โ โโโ User
โโโ post
โ โโโ PostController
โ โโโ PostService
โ โโโ PostRepository
โ โโโ Post
โโโ comment
โโโ CommentController
โโโ CommentService
โโโ CommentRepository
โโโ Comment
- ์ง๊ด์ ์ผ๋ก ์ด๋ค ๋๋ฉ์ธ์ ๋ํ ์ปจํธ๋กค๋ฌ, ์๋น์ค, ๋ ํฌ์งํ ๋ฆฌ, ์ํฐํฐ๊ฐ ์๋์ง ํ์ ๊ฐ๋ฅ
- ๋๋ฉ์ธ ๋ณ๋ก ํ์ผ์ ๋ฌถ์ด์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ ์ ์์
- ๊ณ์ธต ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ณด๋ค ํจํค์ง ๊ตฌ์กฐ๊ฐ ๋ณต์กํด์ง๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์
- ํ์ตํ์์ ๋ ๋๋ ์ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์์
Leave a comment