본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)

AOP를 일반자바 프로젝트에서도 해보자

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 4. 25.

 

 

cglib 라이브러리를 사용하면 일반 자바프로젝트에서도 AOP 기능을 간단하게 구현 할 수 있다.
메이븐 기준으로 cglib 를 다운로드 받는다.

		<dependency>
		    <groupId>cglib</groupId>
		    <artifactId>cglib</artifactId>
		    <version>3.2.7</version>
		</dependency>

그리고 MethodInterceptor라는 클래스를 상속받아서 사용하면 끝.

예제 코드는 추상클래스를 만들었으며, 해당 추상클래스를 일반 클래스에서 상속받으면 된다.

import java.lang.reflect.Method;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
/**
 * 모든 DAO에 적용되는 추상 클래스
 */
public abstract class MyInterceptor implements MethodInterceptor{
	/**
	 * AOP 같은 메소드
	 */
	@Override
	public Object intercept(Object object, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
		Object resultValue = null;
        //if, else 같은거로 메소드 실행 시 조건을 커스터마이징 하면 된다.
		resultValue = methodProxy.invokeSuper(object, args);		
		return resultValue;
	}
반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글