๋ฐ˜์‘ํ˜•
Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-05 19:58
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กJava Spring/์Šคํ”„๋ง ์ž…๋ฌธ (27)

์žฌ๋ƒฅ์ด๐Ÿ˜ป

[Java Spring] 1-26. ๋งˆ๋ฌด๋ฆฌ

[Java Spring] 1-26. ๋งˆ๋ฌด๋ฆฌ 1. ์ง€๊ธˆ๊นŒ์ง€ ์Šคํ”„๋ง์œผ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์–‡๊ณ  ๋„“๊ฒŒ ํ•™์Šตํ–ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ๋Š” ๊ฐ๊ฐ์˜ ๊ธฐ์ˆ ๋“ค์„ ๊นŠ์ด์žˆ๊ฒŒ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ๊ฑฐ๋Œ€ํ•œ ์Šคํ”„๋ง์˜ ๋ชจ๋“  ๊ฒƒ์„ ์„ธ์„ธํ•˜๊ฒŒ ์•Œ ํ•„์š”๋Š” ์—†๋‹ค. ์šฐ๋ฆฌ๋Š” ์Šคํ”„๋ง์„ ๋งŒ๋“œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋‹ค. ์Šคํ”„๋ง์„ ํ™œ์šฉํ•ด์„œ ์‹ค๋ฌด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ์ž˜ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ค‘์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ํ•ต์‹ฌ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ๋Œ€๋žต ์–ด๋””์ฏค ๋ถ€ํ„ฐ ์ฐพ์•„๋“ค์–ด๊ฐ€๋ฉด ๋ ์ง€, ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ๋” ์ค‘์š”ํ•˜๋‹ค.

[Java Spring] 1-25. AOP ์ ์šฉ

[Java Spring] 1-25. AOP ์ ์šฉ 1. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์— ํ•„์š”ํ•œ ๊ธฐ์ˆ ์„ AOP (Aspect Oriented Programming) ๋ผ๊ณ  ํ•œ๋‹ค. [Java Spring] 24. AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ [Java Spring] 24. AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ 1. ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? ์ง์žฅ ์ƒ์‚ฌ๊ฐ€ ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๋“ค์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด์˜ค๋ผ๋Š” ์—…๋ฌด์ง€์‹œ๋ฅผ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์— develop247.tistory.com 2. ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ(cross-cutting concern) vs ํ•ต์‹ฌ ๊ด€์‹ฌ ์‚ฌํ•ญ(core concern) ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค. 3. ์‹œ๊ฐ„ ์ธก์ • ๋กœ์ง์„ ํ•œ๊ตฐ๋ฐ์— ๋ชจ์œผ๊ณ , ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ณณ์— ์ ์šฉ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”๊ฒŒ AOP ์ด๋‹ค. 4. ma..

[Java Spring] 1-24. AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ

[Java Spring] 1-24. AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ 1. ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? ์ง์žฅ ์ƒ์‚ฌ๊ฐ€ ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๋“ค์˜ ํ˜ธ์ถœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด์˜ค๋ผ๋Š” ์—…๋ฌด์ง€์‹œ๋ฅผ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์— ์ˆ˜์ฒœ๊ฐœ์˜ ๋ฉ”์†Œ๋“œ๋“ค์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์šฐ๋ฆฌ๋Š” ์ˆ˜์ฒœ๊ฐœ์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋“ค์˜ ์ฒ˜์Œ๊ณผ ๋๋งˆ๋‹ค ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์—…๋ฌด๋ฅผ ๋๋‚ด์„œ ์ดˆ๋‹จ์œ„๋กœ ์ธก์ •์„ ์™„๋ฃŒํ•˜๋‹ˆ, ์ƒ์‚ฌ๊ฐ€ ์ดˆ๋‹จ์œ„๋Š” ์ •ํ™•ํžˆ ํ™•์ธ์ด ์•ˆ๋œ๋‹ค๋ฉฐ ms ๋‹จ์œ„๋กœ ์ธก์ •์„ ๋‹ค์‹œ ํ•ด๋ณด๋ผ๊ณ  ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ˆ˜์ฒœ๊ฐœ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋˜ ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ•œ๋‹ค. 2. ์ƒ์‚ฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ๋Œ€๋กœ ์‹œ๊ฐ„ ์ธก์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž (MemberService.java) package hello.hellospring.service; impor..

[Java Spring] 1-23. ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA

[Java Spring] 1-23. ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA 1. ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA๋งŒ ์‚ฌ์šฉํ•ด๋„ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ์ •๋ง ๋งŽ์ด ์ฆ๊ฐ€ํ•˜๊ณ , ๊ฐœ๋ฐœํ•ด์•ผํ•  ์ฝ”๋“œ๋„ ํ™•์—ฐํžˆ ์ค„์–ด๋“ ๋‹ค. 2. ์—ฌ๊ธฐ์— ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๊ธฐ์กด์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด ๋งˆ์น˜ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ตฌํ˜„ ํด๋ž˜์Šค ์—†์ด ์ธํ„ฐํŽ˜์ด์Šค ๋งŒ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ˜๋ณต ๊ฐœ๋ฐœํ•ด์˜จ ๊ธฐ๋ณธ CRUD ๊ธฐ๋Šฅ๋„ ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA๊ฐ€ ๋ชจ๋‘ ์ œ๊ณตํ•œ๋‹ค. 3. ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA๋ผ๋Š” ๊ธฐ๋ฐ˜ ์œ„์—, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA๋ผ๋Š” ํ™˜์ƒ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋”ํ•˜๋ฉด ๊ฐœ๋ฐœ์ด ์ •๋ง ์ฆ๊ฑฐ์›Œ์ง„๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์กฐ๊ธˆ์ด๋ผ๋„ ๋‹จ์ˆœํ•˜๊ณ  ๋ฐ˜๋ณต์ด๋ผ ์ƒ๊ฐํ–ˆ๋˜ ๊ฐœ๋ฐœ ์ฝ”๋“œ๋“ค์ด ํ™•์—ฐํ•˜๊ฒŒ ์ค„์–ด๋“ ๋‹ค. 4. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๋Š” ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ, ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ค๋ฌด์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ..

[Java Spring] 1-22. JPA

[Java Spring] 1-22. JPA 1. ์•ž์„œ ๊ธฐ์กด JDBC ์—์„œ JDBC Template ๋กœ ๋ณ€๊ฒฝ ์ดํ›„ ๊ฐœ๋ฐœํ•ด์•ผ ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๋งŽ์ด ์ค„์—ˆ์—ˆ๋‹ค. 2. ๊ทธ๋Ÿฌ๋‚˜, ์•„์ง ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. SQL ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•ด์•ผ๋œ๋‹ค๋Š” ์ ์ด์—ˆ๋‹ค. 3. ๊ทธ๋Ÿฌ๋‚˜ JPA ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, SQL ์ฟผ๋ฆฌ๋„ JPA๊ฐ€ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•ด์ค€๋‹ค. 4. JPA์˜ ํŠน์ง• - JPA๋Š” ๊ธฐ์กด์˜ ๋ฐ˜๋ณต ์ฝ”๋“œ๋Š” ๋ฌผ๋ก ์ด๊ณ , ๊ธฐ๋ณธ์ ์ธ SQL๋„ JPA๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰ํ•ด์ค€๋‹ค. - JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, SQL๊ณผ ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ์˜ ์„ค๊ณ„์—์„œ ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ์„ค๊ณ„๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ „ํ™˜์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. - JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. 5. bundle.gradle > dependencies ์— ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. impleme..