๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ 1

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [7] [@Transactional / AOP]

@Transactional ๊ณผ AOP์˜ ๊ด€๊ณ„ + Proxy ๊ฐ์ฒด spring ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ @Transactional ๋งŒ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ aop์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ, ๋กœ๊น… ๋“ฑ์„ aop๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š”๋ฐ ๋กœ๊น…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ–ˆ์–ด๋„ ํŠธ๋žœ์žญ์…˜์€ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•œ ์ ์ด ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. Transaction [ ํŠธ๋žœ์žญ์…˜ ] / AOP [ ๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ] ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋œปํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์ž‘์—…์˜ ๋‹จ์œ„์ธ ๊ฒƒ์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ..