[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
  • μ§κ΄€μ μœΌλ‘œ μ–΄λ–€ 도메인에 λŒ€ν•œ 컨트둀러, μ„œλΉ„μŠ€, λ ˆν¬μ§€ν† λ¦¬, μ—”ν‹°ν‹°κ°€ μžˆλŠ”μ§€ νŒŒμ•… κ°€λŠ₯
  • 도메인 λ³„λ‘œ νŒŒμΌμ„ λ¬Άμ–΄μ„œ κ΄€λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λͺ…ν™•ν•˜κ²Œ 뢄리할 수 있음
  • 계측 기반 ꡬ쑰보닀 νŒ¨ν‚€μ§€ ꡬ쑰가 λ³΅μž‘ν•΄μ§€λŠ” 것을 λ°©μ§€ν•  수 있음
  • ν•™μŠ΅ν•˜μ˜€μ„ λ•Œ λ‚˜λˆŒ 수 μžˆμ„ 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆμŒ

Categories:

Updated:

Leave a comment