web developerπŸ‘©πŸ»‍πŸ’»

[Spring] Spring Framework μŠ€ν”„λ§ μ •μ˜ 및 νŠΉμ§• λ³Έλ¬Έ

Spring

[Spring] Spring Framework μŠ€ν”„λ§ μ •μ˜ 및 νŠΉμ§•

natrue 2020. 8. 31. 11:11
728x90

  Spring Framework μ •μ˜  

1-1) Spring Framework 

  • μžλ°” ν”Œλž«νΌμ„ μœ„ν•œ μ˜€ν”ˆμ†ŒμŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ ˆμž„μ›Œν¬λ‘œμ„œ μŠ€ν”„링(Spring)이라고도 λΆˆλ¦°λ‹€.
  • 동적인 μ›Ή μ‚¬μ΄νŠΈλ₯Ό κ°œλ°œν•˜κΈ° μœ„ν•œ μ—¬λŸ¬ 가지 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. 

1-2) framework  

Framework와 Library의 차이 

  • Spring은 framework
  • Library - ν”„λ‘œκ·Έλž¨ ν˜ΈμΆœμ— μ˜ν•œ μ œμ–΄ (개발자 μ œμ–΄), μ •ν•΄μ§„λŒ€λ‘œ μ‚¬μš©
  • framework - ν”„λ‘œκ·Έλž¨μ˜ 흐름이 ν”„λ ˆμž„μ›Œν¬μ— μ˜ν•΄ μ œμ–΄, κΈ°λŠ₯ ν™•μž₯ κ°€λŠ₯, μžμ²΄λŠ” μˆ˜μ • λΆˆκ°€

1-3) Framework μ‚¬μš©ν•˜λŠ” 이유 

μ‹œμŠ€ν…œμ˜ κΈ°λŠ₯ 외에 ν•„μš”ν•œ λΉ„κΈ°λŠ₯ μš”μ†Œλ“€μ„ μ œκ³΅λ°›μ„ 수 μžˆλ‹€.

즉, μ‹œμŠ€ν…œ ꡬ좕 μ‹œλ§ˆλ‹€ 반볡적으둜 λΉ„κΈ°λŠ₯ μš”μ†Œλ₯Ό κ΅¬ν˜„ν•  ν•„μš”κ°€ μ—†λ‹€.

 

 

  Spring Framework νŠΉμ§•  

2-1) κ²½λŸ‰ μ»¨ν…Œμ΄λ„ˆ  

: μžλ°” 객체λ₯Ό 직접 관리 

2-2) μ œμ–΄ μ—­ν•  ( Ioc : Inversion of Control )  

: μ œμ–΄κΆŒμ΄ μ‚¬μš©μžκ°€ μ•„λ‹ˆλΌ ν”„λ ˆμž„μ›Œν¬μ— μžˆμ–΄ ν•„μš”μ— 따라 μŠ€ν”„λ§μ—μ„œ μ‚¬μš©μž μ½”λ“œ 호좜

2-3) μ˜μ‘΄μ„± μ£Όμž… ( DI : Dependency Injection )  

: 각각의 κ³„μΈ΅μ΄λ‚˜ μ„œλΉ„μŠ€λ“€ 간에 μ˜μ‘΄μ„±μ΄ μ‘΄μž¬ν•  경우 ν”„λ ˆμž„μ›Œν¬κ°€ μ„œλ‘œ μ—°κ²°μ‹œμΌœμ€€λ‹€. 

ex) boardService에 boardDao 객체 μ£Όμž… 

2-4) 관점 지ν–₯ ν”„λ‘œκ·Έλž˜λ° ( AOP : Aspect-Oriented Programming )  

: κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯의 경우 ν•΄λ‹Ή κΈ°λŠ₯을 λΆ„λ¦¬ν•˜μ—¬ 관리 

2-5) MVC νŒ¨ν„΄  

: Model View Controller 

2-6) POJO λ°©μ‹μ˜ ν”„λ ˆμž„μ›Œν¬   

: Plain Old Java Object λ°©μ‹μ˜ ν”„λ ˆμž„μ›Œν¬λ‘œ νŠΉλ³„ν•œ λœ»μ„ λ‹΄κ³  μžˆλŠ” μš©μ–΄λŠ” μ•„λ‹ˆλ©°, λ‹¨μˆœνžˆ ν‰λ²”ν•œ μžλ°” 빈즈(Javabeans) 객체λ₯Ό μ˜λ―Έν•œλ‹€. 

2-7) ν™•μž₯성이 λ†’λ‹€.  

: μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ— ν†΅ν•©ν•˜κΈ° μœ„ν•΄ κ°„λ‹¨ν•˜κ²Œ κΈ°μ‘΄ 라이브러리λ₯Ό κ°μ‹ΈλŠ” μ •λ„λ‘œ μŠ€ν”„λ§μ—μ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— μˆ˜λ§Žμ€ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 이미 μŠ€ν”„λ§μ—μ„œ μ§€μ›λ˜κ³  있고 μŠ€ν”„λ§μ—μ„œ μ‚¬μš©λ˜λŠ” 라이브러리λ₯Ό λ³„λ„λ‘œ λΆ„λ¦¬ν•˜κΈ°λ„ μš©μ΄ν•˜λ‹€.

2-8) 동적 μ›Ή μ‚¬μ΄νŠΈ κ°œλ°œμ„ μœ„ν•œ ν”„λ ˆμž„μ›Œν¬  

  • 정적(Static) μ›Ή νŽ˜μ΄μ§€ : μ„œλ²„μ— 미리 μ €μž₯된 파일이 κ·ΈλŒ€λ‘œ μ „λ‹¬λ˜λŠ” μ›Ή νŽ˜μ΄μ§€
  • 동적(Dynamic) μ›Ή νŽ˜μ΄μ§€ : μš°λ¦¬κ°€ λ³΄λŠ” λŒ€λΆ€λΆ„μ˜ μ›Ή νŽ˜μ΄μ§€, μ„œλ²„μ— μžˆλŠ” 데이터듀을 μŠ€ν¬λ¦½νŠΈμ— μ˜ν•΄ κ°€κ³΅μ²˜λ¦¬ν•œ ν›„ μƒμ„±λ˜μ–΄ μ „λ‹¬λ˜λŠ” 것 

 

 

 

μ°Έκ³  :  https://ooz.co.kr/170