AOP(3)
-
Spring - @AspectJ
@AspectJ 어노테이션을 활용해 Advisor 역할을 할 Bean을 설정할 수 있다. 1. beans.xml 세팅 beans.xml에 아래와 같이 context 태그를 이용해 빈즈 객체와 advisor로 사용할 component들을 스캔한다. 그 후 아래 태그를 이용해 AOP의 자동 aspectj 기능을 활성화한다. 2. Aspect 클래스 등록 AdvisorClass를 aspect 클래스로 등록시키기 위해서 @Aspect 어노테이션을 등록한다. @Aspect @Component public class AdvisorClass { @Before("execution(* method1())") public void beforemethod() { System.out.println("before!!"); } ..
2020.08.31 -
Spring - execution 사용법
AOP 적용시 다양한 상황에 대응할 수 있도록 명시자를 제공하고 있다. - Pointcut을 저정할 때 사용하는 문법 - execution(접근제한자 리턴타입 클래스이름 메서드이름(매개변수)) - 접근 제한자 : public만 지원된다. - 리턴타입 : 메서드의 매개변수 타입 - 클래스 이름 : 패키지를 포함한 클래스 이름 - 메서드 이름 : 메서드의 이름 - 매개변수 : 매개변수의 형태 - * : 하나의 모든 것을 의미한다. - .. : 개수 상관없이 모든 것을 의미한다. 위 xml 태그에서 aop는 method1 메서드가 실행시 AdvisorClass의 beforeMethod를 실행시킨다. 이때 메소드의 매개변수, 자료형, 패키지에 따라서 원하는 메서드를 지정 가능하다. 1. 매개변수 public c..
2020.08.30 -
Spring - AOP
AOP - Aspect Oriented Programming : 관점 지향 프로그래밍 - 하나의 프로그램을 관점(혹은 관심사)라는 논리적인 단위로 분리하여 관리하는 개념 - 로깅, 감사, 선언적 트랜젝션, 보안, 캐싱 등 다양한 곳에서 사용되고 있다. - 메서드 호출을 관심사로 설정하여 AOP에 관한 실습을 진행한다. - 관심사를 통해 Spring Framework가 어떤 메서드가 호출되는지 관심있게 지켜보다가 특정 메서드가 호출되면 자동으로 메서드 전과 후에 다른 메서드가 호출 될 수 있도록 한다. Spring AOP 용어 - Joint Point : 모듈이 삽입되어 동작하게 되는 특정 위치(메서드 호출 등) - Point Cut : 다양한 Joint Point 중에 어떤 것을 사용할지 선택 - Adv..
2020.08.29