[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