IOC(Inversion Of Control)
- κΈ°μ‘΄ νλ‘κ·Έλ¨μ ν΄λΌμ΄μΈνΈ ꡬν κ°μ²΄κ° νλ‘κ·Έλ¨μ μ μ΄ νλ¦μ μ€μ€λ‘ μ‘°μ’ νλ€. μ¦, μ€μ€λ‘ νμν μλ² κ΅¬ν κ°μ²΄λ₯Ό μμ±, μ°κ²°, μ€ννλ€λ λ§μ΄λ€.
- νμ§λ§, μ μ΄ νλ¦μ λν κΆνμ μΈλΆ λ€λ₯Έ κ³³μμ μμ νκ³ μμ΄ μΈλΆμμ μ μ΄ νλ¦μ κ΄λ¦¬ν΄μ£Όλ κ²μ IOC μ μ΄μ μμ μ΄λΌκ³ νλ€.
- μ΄ κ°λ
μ νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬λ₯Ό ꡬλΆν λ μ μ©ν μ μλλ°
- μμ±ν μ½λλ₯Ό μΈλΆμμ μ μ΄λ₯Ό ν΄μ£Όκ³ λμ μ€ννλ©΄ νλ μμν¬
- μμ±ν μ½λλ₯Ό λ΄κ° μ§μ μ μ΄μ νλ¦μ λ΄λΉνλ©΄ λΌμ΄λΈλ¬λ¦¬
DI(Dependency Injection)
- λ€νμ± κ°λ μ μ΄μ©ν΄μ ν Service κ°μ²΄κ° ν μΈν°νμ΄μ€μ μμ‘΄νκ³ μμ λ Service ν΄λμ€ λ΄μμ μΈν°νμ΄μ€μ ꡬν체λ₯Ό μ§μ ν΄μ€λ€λ©΄ λμ€μ λ³κ²½μ μ·¨μ½ν κ²μ΄λ€.
- κ·Έλμ μΈλΆμμ μμ‘΄κ΄κ³λ₯Ό μ£Όμ νλ€λ κ°λ μΌλ‘ ꡬν체λ₯Ό μ£Όμ ν΄μ€ μ μλ€.
- μ μ μΈ ν΄λμ€ μμ‘΄ κ΄κ³μ μ€ν μμ μ κ΄κ³κ° κ²°μ λλ λμ μΈ κ°μ²΄(μΈμ€ν΄μ€) μμ‘΄ κ΄κ³
(1) μ μ ν΄λμ€ μμ‘΄κ΄κ³
- μ΄ν리μΌμ΄μ μ μ€ννμ§ μμλ ν΄λμ€κ° μ¬μ©νλ €κ³ import ν κ²λ§ λ΄λ μμ‘΄κ΄κ³λ₯Ό μ½κ² νλ¨ν μ μλ€.
- νμ§λ§ μ€μ μ΄λ€ ꡬν κ°μ²΄κ° μ£Όμ λ μ§λ μ μ μλ€
(2) λμ ν΄λμ€ μμ‘΄κ΄κ³
- μ΄ν리μΌμ΄μ μ€ν μμ μ μ€μ ꡬν κ°μ²΄λ₯Ό μμ±νκ³ ν΄λΌμ΄μΈνΈμ μ λ¬ν΄μ ν΄λΌμ΄μΈνΈμ μλ²μ μ€μ μμ‘΄κ΄κ³κ° μ°κ²°λλ κ².
- μ΄κ±°λ₯Ό μμ‘΄κ΄κ³ μ£Όμ μ΄λΌκ³ λ ν μ μλ€.
- μμ‘΄κ΄κ³ μ£Όμ μ μ¬μ©νλ©΄ ν΄λΌμ΄μΈνΈ μ½λλ₯Ό λ³κ²½νμ§ μκ³ , ν΄λΌμ΄μΈνΈκ° νΈμΆνλ λμμ νμ μΈμ€ν΄μ€λ₯Ό λ³κ²½ν μ μλ€.
- μ μ μΈ ν΄λμ€ μμ‘΄κ΄κ³λ₯Ό λ³κ²½νμ§ μκ³ , λμ μΈ κ°μ²΄ μΈμ€ν΄μ€ μμ‘΄κ΄κ³λ₯Ό μ½κ² λ³κ²½ κ°λ₯νλ€.
IOC 컨ν μ΄λ( DI 컨ν μ΄λ )
- κ°μ²΄λ₯Ό μμ±νκ³ κ΄λ¦¬νλ©΄μ μμ‘΄κ΄κ³λ₯Ό μ°κ²°ν΄μ£Όλ κ²
- IOC 컨ν μ΄λ λλ DI 컨ν μ΄λλΌκ³ λΆλ₯Έλ€.
- μμ‘΄κ΄κ³ μ£Όμ μ μ΄μ μ λ§μΆλ©΄ DI 컨ν μ΄λλΌκ³ λ§μ΄ λΆλ₯Έλ€.
- μ΄μ λΈλ¬, μ€λΈμ νΈ ν©ν 리λ‘λ λΆλ₯Έλ€.
'π Backend > π Spring' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Bean Scopeκ° λκΉ? (0) | 2022.07.13 |
---|---|
Spring DI 4κ°μ§ λ°©λ²κ³Ό μ΅μ μ²λ¦¬ (0) | 2022.07.08 |
κ°μ²΄μ§ν₯ μ€κ³μ μ€νλ§ (0) | 2022.07.02 |
SOLID μμΉ (0) | 2022.07.02 |
8. AOP (0) | 2022.07.02 |