MapleStory Cookie With Halo

๐Ÿƒ Spring/๐Ÿƒ Spring Boot

[SpringBoot]AOP ์ž…๋ฌธ-์„ค๋ช…๊ณผ ์‚ฌ์šฉ๋ฒ•

๋‰ด์ด NUEY 2025. 1. 10. 23:49
๋ฐ˜์‘ํ˜•

 

AOP๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ

 

  • ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ํ˜ธ์ถœ์‹œ๊ฐ„ ์ธก์ •ํ•ด์•ผ ํ•œ๋‹ค๋ฉด?
    • ์ด ํšŒ์›๊ฐ€์ž… ์ฝ”๋“œ๋ฅผ
    • ์ด๋ ‡๊ฒŒ ๊ณ ์ณ์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ด๋Ÿฐ ์‹์œผ๋กœ 999๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค.

  • ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ(cross-cutting concern)  vs  ํ•ต์‹ฌ ๊ด€์‹ฌ ์‚ฌํ•ญ(core concern)

    • ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๋กœ์ง์€ ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ์ด๋‹ค.

 


 

AOP
Aspect Oriented Programming
๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ/ํ•ต์‹ฌ ๊ด€์‹ฌ ์‚ฌํ•ญ์„ ๋ถ„๋ฆฌ

 

 

 

  1. src-main-hello-hellospring์— aop ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋“ค๊ณ  TimeTraceAop ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค.
  2. TimeTraceAop ํด๋ž˜์Šค

    • @Aspect 
      → AOP ํด๋ž˜์Šค๋กœ ๋งŒ๋“ ๋‹ค.

    • @Around 
      → ์ ์šฉ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.
    • return  joinPoint.proceed(); 
      → ์‹ค์ œ ํด๋ž˜์Šค๋ฅผ ์‹คํ–‰.
    • ์Šคํ”„๋ง๋ถ€ํŠธ์— ๋“ฑ๋กํ•  ๊ฒฝ์šฐ์— AOP๋Š” @Component ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  config ์— @Bean ์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ๊ฒŒ ์ข€ ๋” ์ผ๋ฐ˜์ ์ด๋‹ค.
  3. ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ์‹คํ–‰์‹œ๊ฐ„์ด ์ถœ๋ ฅ๋œ๋‹ค.

aop๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋ก์‹œ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์งœ ํด๋ž˜์Šค๋ฅผ ๊ฑฐ์น˜๊ณ  ๋„˜์–ด๊ฐ„๋‹ค.

 

 


โ€ป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373

๋ฐ˜์‘ํ˜•