Spring

• CodeStates BootCamp/Section 2

๐ŸŒˆ [Section2] 20. AOP (Aspect-Oriented Programming)

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ! AOP (Aspect-Oriented Programming) AOP ์šฉ์–ด AOP ํ”„๋ก์‹œ โœ๏ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง 1. ํ•ต์‹ฌ ๊ด€์‹ฌ์‚ฌ (Core Concerns) ( ํ•ต์‹ฌ ๊ธฐ๋Šฅ ) ๊ฐ์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ณ ์œ ์˜ ๊ธฐ๋Šฅ Ex. ์—…๋ฌด ๋กœ์ง 2. ํšก๋‹จ ๊ด€์‹ฌ์‚ฌ (CROSS-CUTTING CONCERNS) ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋ณด์กฐํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์— ๊ฑธ์ณ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ โžœ ์ค‘๋ณต ์ฝ”๋“œ ์ƒ๊น€ ( AOP ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐ ) ํ•ต์‹ฌ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ ( ๋‹จ๋… X ) Ex. ๋กœ๊น…, ๋ณด์•ˆ, ํŠธ๋žœ์žญ์…˜, ๋กœ๊ทธ ์ถ”์  ๋กœ์ง ๋“ฑ Ex. orderService๋ผ๋Š” ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ํ•ต์‹ฌ๊ธฐ๋Šฅ์ธ ์ฃผ๋ฌธ ๋กœ์ง๊ณผ ๋ถ€๊ฐ€๊ธฐ๋Šฅ์ธ ๋กœ๊ทธ ์ถ”์  ๋กœ์ง์ด ํ•ฉ์ณ์ ธ์„œ ํ•˜๋‚˜์˜ ๋กœ์ง์„ ์™„์„ฑํ•˜๊ฒŒ ๋จ โœ๏ธ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Object Oriente..

• CodeStates BootCamp/Section 2

๐ŸŒˆ [Section2] 19. DI (Dependency Injection) 2

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ! Java ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ(Container) ์„ค์ • ์ปดํฌ๋„ŒํŠธ ์Šค์บ  (Component Scan) ์˜์กด๊ด€๊ณ„ ์ฃผ์ž… ๋ฐฉ๋ฒ• โœ๏ธ Java ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ(Container) ์„ค์ • โœ” ์ค‘์š” ์• ๋„ˆํ…Œ์ด์…˜ โœ”๏ธ @Configuration ์„ค์ •ํŒŒ์ผ์˜ ํด๋ž˜์Šค ๋ ˆ๋ฒจ์—์„œ๋งŒ ์‚ฌ์šฉ ( ์šฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑํ•  ๊ฐ์ฒด ํด๋ž˜์Šค ์œ„์— ์ž‘์„ฑ ) โžœ "์—ฌ๊ธฐ ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” Bean๋“ค์ด ์žˆ์–ด !!" ํ•˜๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ ๐Ÿ’ก ์„ค์ •ํŒŒ์ผ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋นˆ๋“ค์˜ ์ •๋ณด์™€ ์˜์กด์„ฑ ์ •๋ณด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ์“ฐ์—ฌ์žˆ๋Š” ํŒŒ์ผ ํด๋ž˜์Šค ๋ ˆ๋ฒจ์—์„œ๋งŒ ์‚ฌ์šฉ โœ”๏ธ @Bean ์„ค์ •ํŒŒ์ผ ๋‚ด์˜ ๋ฉ”์„œ๋“œ ๋ ˆ๋ฒจ์—์„œ๋งŒ ์‚ฌ์šฉ ( ๊ฐ์ฒด ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ์ƒ์„ฑ์ž(๋ฉ”์„œ๋“œ) ์œ„์— ์ž‘์„ฑ ) โžœ ๋ฉ”์„œ๋“œ๊ฐ€ Spring ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ด€๋ฆฌํ•  ์ƒˆ ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šคํ™”, ๊ตฌ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜..

• CodeStates BootCamp/Section 2

๐ŸŒˆ [Section2] 18. DI (Dependency Injection) 1

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ! ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ (Spring Container) ๋นˆ (Bean) ๋นˆ ์Šค์ฝ”ํ”„ (Bean Scope) ์‹ฑ๊ธ€ํ†ค โœ๏ธ DI (Dependency Injection) ( ์ด ์ „ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์ •๋ฆฌํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด) ๊ฐ์ฒด ๊ต์ฒด์˜ ๊ฒฝ์šฐ ์ˆ˜์ •์ด ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์œผ๋กœ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์ˆœ๊ฐ„ ์˜์กด๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ๋„ ์˜์กด์„ฑ ์ฃผ์ž…์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๊ณ  ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ์‹ค์ œ๋กœ ์Šคํ”„๋ง์—์„œ ์˜์กด์„ฑ ์ฃผ์ž…์„ ๋„์™€์ฃผ๊ฒŒ ๋จ ( ์Šคํ”„๋ง์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ• ) ( ์•„๋ž˜๋Š” ๊ณต์‹ ๋ฌธ์„œ์— ์ƒ์„ฑ์ž ๊ธฐ๋ฐ˜ ๋ฐ setter ๊ธฐ๋ฐ˜ DI๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์Šคํ”„๋ง์—์„œ๋Š” ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์ถ”์ฒœํ•œ๋‹ค๋Š” ๋‚ด์šฉ์ด ํฌํ•จ โฌ‡๏ธ ) [์ฐธ๊ณ ] https://docs.spring.i..

• CodeStates BootCamp/Section 2

๐ŸŒˆ [Section2] 17. Spring Framework ๊ธฐ๋ณธ 2

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ! ์•„ํ‚คํ…์ฒ˜ Spring Framewokr ๋ชจ๋“ˆ ๊ตฌ์„ฑ Spring Boot โœ๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ( System Architecture ) ์–ด๋–ค ์‹œ์Šคํ…œ์˜ ์ „์ฒด์ ์ธ ๊ตฌ์„ฑ์„ ํฐ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ ( ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ชจ๋‘ ํฌํ•จ ) โœ๏ธ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ( Software Architecture ) ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์„ฑ์„ ํฐ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ ( ํ•˜๋“œ์›จ์–ด ์ œ์™ธํ•œ ์ปดํ“จํ„ฐ ๋‚ด ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ ) Ex. Java ํ”Œ๋žซํผ ์•„ํ‚คํ…์ฒ˜ (์•„๋ž˜ ) [์ฐธ๊ณ ] https://mingrammer.com/translation-10-common-software-architectural-patterns-in-a-nutshell/ โœ๏ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ณ ( Application Architecture ) ์• ..

• CodeStates BootCamp/Section 2

๐ŸŒˆ [Section2] 16. Spring Framework ๊ธฐ๋ณธ 1

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ! Framework Framework vs Library Spring Framework Spring Triangle / POJO Spring Framework์˜ 3๋Œ€ ํ•ต์‹ฌ ๊ฐœ๋… โœ๏ธ Framework ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋– ํ•œ ํ‹€, ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ Ex. Java์—์„œ์˜ Collection โžœ Map, Set, List์™€ ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ทธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด๋“ค์˜ ์ง‘ํ•ฉ ( ๊ทธ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๊ตฌํ˜„์ฒด๋“ค์„ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ์Œ ) โœ” ์žฅ์  ํšจ์œจ์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ โžœ Framework๊ฐ€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ๋กœ ์ œ๊ณต ( ๊ฐœ๋ฐœ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ ) ์ •ํ•ด์ง„ ๊ทœ์•ฝ์ด ์žˆ์–ด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํšจ์œจ์ , ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ โžœ..

hjjju
'Spring' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก