μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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
- μκ³ λ¦¬μ¦
- μ€νλ§
- CSS
- λ°±μλ
- μλ£κ΅¬μ‘°
- λ¬Έμμ΄λ€μ§κΈ°
- CLIλͺ λ Ήμ΄
- λ°μΌλ¦¬μ½λ©
- 컬λ μ νλ μμν¬
- μΈν 리μ μ΄
- fibonacci
- νμ΄νλ‘κ·Έλλ°
- Spring Data JDBC
- spring data jpa
- κΉνλΈ
- λΆνΈμΊ ν
- κ³μ°κΈ°λ§λ€κΈ°
- 그리λ
- FilterChain
- testing
- μλ°
- Spring Security
- κ±°λμ κ³±
- java
- νκ³
- HTML
- λ°±μ€μκ³ λ¦¬μ¦
- 첫κΈμλλ¬Έμ
- Publishing
- μ λ€λ¦μ€
Archives
- Today
- Total
λμ λͺ¨μ
043 | Layer interconnect & Class Mapping λ³Έλ¬Έ
π DIλ₯Ό ν΅ν μλΉμ€ κ³μΈ΅ ββ API κ³μΈ΅ μ°λ
- μ ν리μΌμ΄μ μμ Service: λλ©μΈ μ 무 μμμ ꡬννλ λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νλ κ²μ΄λ€.
- μ ν리μΌμ΄μ μ λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νκΈ° μν μλΉμ€ κ³μΈ΅μ λλΆλΆ λλ©μΈ λͺ¨λΈμ ν¬ν¨νκ³ μλ€.
- Spring BeanμΌλ‘ λ±λ‘
- Controller ν΄λμ€μ @RestController μΆκ°
- Service ν΄λμ€μ @Service μΆκ°
- μμ±μ λ°©μμ DIλ μμ±μκ° νλμΌ κ²½μ°μλ @Autowired μ λν μ΄μ μ μΆκ°νμ§ μμλ DIκ° μ μ©λλ€.
- μλΉμ€ κ³μΈ΅κ³Ό API κ³μΈ΅μ μ°κ²°νλ€λ κ²μ API κ³μΈ΅μμ ꡬνν Controller ν΄λμ€κ° μλΉμ€ κ³μΈ΅μ Service ν΄λμ€μ λ©μλ νΈμΆμ ν΅ν΄ μνΈμμ©νλ κ²μ΄λ€.

π λ§€νΌ(Mapper)λ₯Ό μ΄μ©ν DTO ν΄λμ€ ββ Entity ν΄λμ€ λ§€ν
- Mapperλ₯Ό μ¬μ©ν΄μ DTO ν΄λμ€μ Entity ν΄λμ€ κ°μ κ΄μ¬μ¬λ₯Ό λΆλ¦¬ν μ μλ€.
- Mapperλ μ§μ ꡬνν μλ μμ§λ§ MapStruct κ°μ λ§€ν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν μ μλ€.
- μ¬μ©νκΈ°
- @Mapper: Mapper μΈν°νμ΄μ€
- componentModel = "spring": SpringBeanμΌλ‘ λ±λ‘
@Mapper(componentModel = "spring")
public interface Mapper {
MappedType methodMapper(MappedType parameter);
}
π§© MapStruct
- λ§€νΌ(Mapper) ꡬν ν΄λμ€λ₯Ό μλμΌλ‘ μμ±ν΄μ€λ€.
- μμ‘΄ λΌμ΄λΈλ¬λ¦¬ μ€μ
dependencies {
implementation 'org.mapstruct:mapstruct:1.5.2.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.2.Final'
}
π DTO ν΄λμ€μ Entity ν΄λμ€μ μν λΆλ¦¬κ° νμν μ΄μ
- κ³μΈ΅λ³ κ΄μ¬μ¬μ λΆλ¦¬
- μλ‘ μ¬μ©λλ κ³μΈ΅μ΄ λ€λ₯΄κΈ° λλ¬Έμ κΈ°λ₯μ λν κ΄μ¬μ¬κ° λ€λ₯΄λ€.
- DTO ν΄λμ€ λͺ©μ : API κ³μΈ΅μμ μμ² λ°μ΄ν°λ₯Ό μ λ¬ λ°κ³ , μλ΅ λ°μ΄ν°λ₯Ό μ μ‘νλκ²
- Entity ν΄λμ€ λͺ©μ : μλΉμ€ κ³μΈ΅μμ λ°μ΄ν° μ‘μΈμ€ κ³μΈ΅κ³Ό μ°λνμ¬ λΉμ¦λμ€ λ‘μ§μ κ²°κ³Όλ‘ μμ±λ λ°μ΄ν°λ₯Ό λ€λ£¨λ κ²
- Javaμ Object Mapping κ΄μ μΌλ‘ μκ°νμ§ μμλ νλμ ν΄λμ€λ λ©μλ λ΄μμ μ¬λ¬ κ°μ κΈ°λ₯λ€μ ꡬννκ³ μλ κ²μ κ°μ²΄ μ§ν₯ μ½λ κ΄μ μμλ 리ν©ν λ§ λμμ΄ λλ€.
- μλ‘ μ¬μ©λλ κ³μΈ΅μ΄ λ€λ₯΄κΈ° λλ¬Έμ κΈ°λ₯μ λν κ΄μ¬μ¬κ° λ€λ₯΄λ€.
- μ½λ ꡬμ±μ λ¨μν
- REST API μ€νμ λ
λ¦½μ± ν보
- λ°μ΄ν° μ‘μΈμ€ κ³μΈ΅μμ μ λ¬ λ°μ λ°μ΄ν°λ‘ μ±μμ§ Entity ν΄λμ€λ₯Ό ν΄λΌμ΄μΈνΈμ μλ΅μΌλ‘ κ·Έλλ‘ μ λ¬νκ²λλ©΄ μμΉ μλ λ°μ΄ν°κΉμ§ ν΄λΌμ΄μΈνΈμκ² μ μ‘λ μ μλλ°, μ΄ λ DTO ν΄λμ€λ₯Ό μ¬μ©νλ©΄ μ€μν μ 보λ₯Ό ν΄λΌμ΄μΈνΈμκ² λ ΈμΆνμ§ μκ³ , μνλ μ λ³΄λ§ μ 곡ν μ μλ€.
'SEB > TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
045 | Checked / Unchecked / Customised Exception (0) | 2022.08.25 |
---|---|
044 | Exception Handling in Spring MVC (0) | 2022.08.24 |
042 | DTO μ ν¨μ± κ²μ¦ (0) | 2022.08.23 |
042 | DTO with HTTP Request & Response (0) | 2022.08.22 |
031 | RDBMS, SQL, ACID (0) | 2022.08.04 |