ํ๋ก์ ํจํด(Proxy)
- ์ด๋ค ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ์ ์ ์ดํ๊ธฐ ์ํด, ๋๋ฆฌ ๊ฐ์ฒด(proxy)๋ฅผ ์ฌ์ฉํ๋ ํจํด
- Spring AOP๋ ํ๋ก์ ํจํด ๊ธฐ๋ฐ์ผ๋ก ๋์ํจ. ํต์ฌ ๋ก์ง ์ ํ์ ๋ถ๊ฐ๊ธฐ๋ฅ ์ฝ์ ๊ฐ๋ฅ
// ์๋น์ค ๋ฉ์๋ ์คํ ์ ํ์ ๋ก๊น
์์ (AOP)
@Aspect // ํ๋ก์ ๊ฐ์ฒด๊ฐ ๋์ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ๊ฐ์ธ๋ ๊ตฌ์กฐ
@Component
public class LoggingAspect {
// ๋ชจ๋ Service ํจํค์ง์ ๋ฉ์๋ ์คํ ์
@Before("execution(* com.winbit.project1.service.*.*(..))")
public void beforeLog(JoinPoint joinPoint) {
System.out.println("[Before]" + joinPoint.getSignature().getName()); //ex: [Before]getBoardList
}
// ์คํ ํ
@After("execution(* com.winbit.project1.service.*.*(..))")
public void afterLog(JoinPoint joinPoint) {
System.out.println("[After]" + joinPoint.getSignature().getName()); //ex: [After]getBoardList
}
}
'๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ๋์์ธ ํจํด๋ค ์ ๋ฆฌ (0) | 2025.05.28 |
---|---|
[JAVA] ๋์์ธ ํจํด - ์ ๋ต ํจํด (Strategy) (0) | 2025.05.28 |
[JAVA] ๋์์ธ ํจํด - ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด (Factory Method) (0) | 2025.05.28 |
[JAVA] ๋์์ธ ํจํด - ๋ธ๋ฆฟ์ง ํจํด(Bridge) (0) | 2025.05.28 |
[JAVA] ๋์์ธ ํจํด - ์ฑ๊ธํด ํจํด(Singleton) (0) | 2025.05.28 |