๋ฐ์ํ
Spring AOP Annotation
@Aspect
- Spring Bean ํด๋์ค์๋ง ์ ์ฉ ๊ฐ๋ฅ
- ์ด๋๋ฐ์ด์ค ์ข
๋ฅ
@Around
: ํต์ฌ๊ธฐ๋ฅ ์ํ ์ ๊ณผ ํ(@Before
+@After
)@Before
: ํต์ฌ๊ธฐ๋ฅ ํธ์ถ ์ (ex. Client์ ์ ๋ ฅ ๊ฐ Validation ์ํ)@After
: ํต์ฌ๊ธฐ๋ฅ ์ํ ์ฑ๊ณต/์คํจ ์ฌ๋ถ์ ์๊ด์์ด ์ธ์ ๋ ๋์(try, catch์ finally() ์ฒ๋ผ ๋์)@AfterReturning
: ํต์ฌ๊ธฐ๋ฅ ํธ์ถ ์ฑ๊ณต ์ (ํจ์์ Return ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ)@AfterThrowing
: ํต์ฌ๊ธฐ๋ฅ ํธ์ถ ์คํจ ์, ์ฆ ์์ธ(Exception)๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ง ๋์(ex. ์์ธ๊ฐ ๋ฐ์ํ์ ๋ ๊ฐ๋ฐ์์๊ฒ email์ด๋ SMS ๋ณด๋)
- ํฌ์ธํธ์ปท
- ํฌ์ธํธ์ปท Expression Language
- ํฌ์ธํธ์ปท Expression ํํ
excution(modifiers-pattern? return-type-pattern declaring-type-pattern? method-name-pattern(param-pattern) throws-pattern?)
- ?๋ ์๋ต ๊ฐ๋ฅ
- modifiers-pattern
- public, private, *
- return-type-pattern
- void, String, List<String>, *
- declaring-type-pattern
- ํด๋์ค๋ช (ํจํค์ง๋ช ํ์)
- com.sparta.myselectshop.controller.* - controller ํจํค์ง์ ๋ชจ๋ ํด๋์ค์ ์ ์ฉ
- com.sparta.myselectshop.controller.. - controller ํจํค์ง ๋ฐ ํ์ ํจํค์ง์ ๋ชจ๋ ํด๋์ค์ ์ ์ฉ
- method-name-pattern(param-pattern)
- ํจ์๋ช
- addFolders : addFolders() ํจ์์๋ง ์ ์ฉ
- add* : add๋ก ์์ํ๋ ๋ชจ๋ ํจ์์ ์ ์ฉ
- ํ๋ผ๋ฏธํฐ ํจํด(param-pattern)
- (com.sparta.myselectshop.dto.FolderRequestDto) - FolderRequestDto ์ธ์(arguments) ๋ง ์ ์ฉ
- () - ์ธ์์์
- (*) - ์ธ์ 1๊ฐ (ํ์ ์๊ด์์)
- (..) - ์ธ์ 0~N๊ฐ (ํ์ ์๊ด์์)
- ํจ์๋ช
@Pointcut
- ํฌ์ธํธ์ปท ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
- ํฌ์ธํธ์ปท ๊ฒฐํฉ ๊ฐ๋ฅ
- ํฌ์ธํธ์ปท Expression ํํ
- ํฌ์ธํธ์ปท Expression Language
๋์ ์ดํด
๊ฐ๋
์คํ๋ง ์ค์ ๋์
์ํ์ค ๋ค์ด์ด๊ทธ๋จ
์ ์ฉ ์
์ ์ฉ ํ
- Spring์ด ํ๋ก์(๊ฐ์ง ํน์ ๋๋ฆฌ) ๊ฐ์ฒด๋ฅผ ์ค๊ฐ์ ์ฝ์
- DispatcherServlet๊ณผ ProductController ์
์ฅ์์๋ ๋ณํ์์
- ํธ์ถ๋๋ ํจ์์ input, output ์ด ์์ ๋์ผ
- "joinPoint.preceed()"์ ์ํด์ ์๋ ํธ์ถํ๋ ค๊ณ ํ๋ ํจ์, ์ธ์๊ฐ ์ ๋ฌ๋จ
728x90
๋ฐ์ํ
'๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Event-Driven Architecture (0) | 2023.12.12 |
---|---|
๊น๋ฐฅ ์ฒ๊ตญ ํ๋ก์ ํธ KPT (0) | 2023.12.12 |
์คํ๋ง ์๋ จ 4์ฃผ์ฐจ : ์ง์ฐ ๋ก๋ฉ/์ฆ์ ๋ก๋ฉ (0) | 2023.11.29 |
[KPT] ๋ด์คํผ๋ ํ๋ก์ ํธ (0) | 2023.11.28 |
์คํ๋ง ์๋ จ 3์ฃผ์ฐจ : Spring Security (1) | 2023.11.17 |