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