rdbν¨λ¬λ€μ(ν μ΄λΈκΈ°λ°, μ°κ΄κ΄κ³λ₯Ό fkλ‘ μ°κ²°)
ormκΈ°μ μ μ¬μ©ν΄μ μ€κ³ν λ νλλ‘ μΊ‘μν νλκ² μ’μ κ°λ λ€μ
Dependency injection
- κ°μ²΄μ§ν₯μ€κ³μμλ κ°μ²΄ κ°μ νμμ μ± μμ λΆλ¦¬νκ³ κ°μ²΄λ€λΌλ¦¬
μλ‘ μμ‘΄ νλλ‘ μ€κ³νλ κ²μ΄ μ€μνλ° μ΄λ
μ΄λ a -> bλ₯Ό μ¬μ©νλ κ΄κ³λΌκ³ ν λ aμμ bλ₯Ό μ§μ μμ±νλ μ
μ¬μ©νλ ν΄λμ€κ° μ§μ μ¬μ©ν ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό λ§λ€μ΄μ μ¬μ©νλμμΌλ‘νλ©΄
Dip, ocpλ₯Ό μ§ν€μ§ λͺ»νκ² λκΈ°λλ¬Έμ κ°μ²΄μ§ν₯μ μΌλ‘ μ€κ³ν μ μμ
κ·Έλμ μΈλΆμμ μμ‘΄μ£Όμ
μ λ°λλ‘ ν΄μ κ°μ²΄μ§ν₯ μ€κ³ μμΉμ
μ§ν€λκ²
Ioc
- μ μ΄μ μμ
λ΄κ° μ¬μ©νλ ν΄λμ€λ₯Ό μ§μ μμ±νκ³ μ€μ νλκ² μλλΌ
μΈλΆμμ μ΄λ°κ²λ€μ μ μ΄νλμμΌλ‘ μ§νλλκ²
Application context
* μ€νλ§μ΄ μ 곡νλ ioc컨ν
μ΄λ μΈν°νμ΄μ€
Componenet scan
μ€νλ§μ΄ λΉμ μ λΆ μ°Ύμμ λΉμ μμ± κ΄λ¦¬, μ€νλ§ μ»¨ν
μ΄λμ λΉμΌλ‘ λ±λ‘
Bean life cycle
λΉμ μλͺ
μ£ΌκΈ°λ₯Ό λνλ
- μ±κΈν€, μΈμ , νλ‘ν νμ λ±λ±μ΄ μμ
λͺ¨μκ°μ²΄? β ??
κ°λΉμ§ 컬λ μ
λμ΄μ μ°Έμ‘°λμ§ μλ λ©λͺ¨λ¦¬ μμ -> κ°λΉμ§
μλ°μμλ μ΄λ¬ν κ°λΉμ§λ₯Ό gcκ° μ²λ¦¬ν΄μ€
μλ° λ²μ λ§λ€ μκ³ λ¦¬μ¦μ΄ λ€λ₯΄μ§λ§
λ³΄ν΅ mark, sweep κ³Όμ μ κ±°μ³μ μ²λ¦¬λ¨
Mark ->. μ°Έμ‘°λκ³ μλ λ©λͺ¨λ¦¬ 곡κ°μ 체ν¬
Sweep -> markλμ§ μλ μμμ ν΄μ
4μ£Όμ°¨ RBF
- JDBC
- JAVA β DB μ κ·Ό κΈ°μ
- UUID
- κ±°μ μμ νκ² μ μΈκ³μμ μ μΌν κ°μ μ¬μ©νκ³ μΆμ λ μ¬μ©
- AOP
- νλ‘μν¨ν΄μ μ¬μ©νμ¬ κ°λ°μμ 곡ν΅μ²λ¦¬κ° νμν λΆλΆμ νλλ‘ λΉΌμ μ μ©μν¬ μ μμ
- @Transactional μ΄λ Έν μ΄μ λ μ΄λ Έν μ΄μ κΈ°λ° AOPκΈ°μ μ΄ μ μ©λ κ²
- Transaction
- νλλ‘ λ¬Άμ΄μ μ²λ¦¬κ° νμν μμ λ€..
- λ Όλ¦¬μ λ¨μ
- ex) μν μ‘κΈ
- DataSource
- νΈλμμ νμ κ΄λ¦¬νλ μν μ ν¨
- νΈλμμ μ λ§€λ² μμ²μλ§λ€ μμ± β λ§μ μμ²μ΄ νλ²μ λ€μ΄μ€λ©΄?
- νΈλμμ νμ μ¬μ©νκ² λλ©΄ μ¬μ© κ°λ₯ν νΈλμμ μλ₯Ό μ ν μ μκ² λμ΄ μ²λ¦¬ κ°λ₯ν μλ§νΌ μμ²μ μ²λ¦¬ν μ μμ
- κ·Έλ¦¬κ³ μ΄λ―Έ μμ±ν΄ λμ νΈλμμ μ λ°μμ μ¬μ©νκΈ° λλ¬Έμ μ¬μ©μμ μμ²μ λ 빨리 μλ΅ κ°λ₯
- μ΄λ¬ν νΈλμμ νμ κ΄λ¦¬ νλ κ² β datasource
- DBCP
- Database Connection Pool
- datasourceκ° κ΄λ¦¬νλ 컀λ₯μ ν
- HikariCPλ JDBC 컀λ₯μ ν