프로그래밍 공부/Spring
-
[Spring] 간소화된 Advisor프로그래밍 공부/Spring 2021. 5. 5. 17:00
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 간소화된 Advisor : point cut과 advisor를 합친 것. 따로 생성 해줄 필요 없이 한 번에 생성 가능 NameMatchMethodPointcutAdvisor total avg mappedNames를 이용하여 weaving 하고 싶은 메서드를 여러 개 줄 수 있음. 도 가능함 RegexpMethodPointcutAdvisor .*to.* 정규식을 이용하여 메서드 이름을 전달 할 수 있음
-
[Spring] Point Cut프로그래밍 공부/Spring 2021. 5. 5. 15:59
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. weaving(뜨개질) : 부가 로직을 호출하고 부가 로직 실행 중에 주 업무가 실행되는 것을 말함 JoinPoint : 부가 로직이 대상으로 삼는 주 업무 메서드. 부가 로직에서 연결해야 할 포인트 점이 되는 곳 Pointcuts 기본적으로 proxy는 target class의 모든 메서드를 JoinPoint로 생각한다. 특정 메서드만 weaving 하기 위해서는 별도의 정보가 필요하다. 이것을 point cuts라고 한다. Advice 별로 pointcut을 사용할 수 있다. Advice를 pointcut과 연결해주는 Advisor - Point cut 생성: mappedName property에 weaving 하고 싶은 method를 넣는다 - Adv..
-
[Spring] After Returning / Throwing Advice프로그래밍 공부/Spring 2021. 5. 5. 14:54
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. After Returning package spring.aop.advice; import java.lang.reflect.Method; import org.springframework.aop.AfterReturningAdvice; public class LogAfterReturningAdvice implements AfterReturningAdvice{ @Override public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable { // TODO Auto-generated method stub System.out.print..
-
[Spring] BeforeAdvice 구현하기프로그래밍 공부/Spring 2021. 5. 5. 14:35
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 간단하게 MethodBeforeAdvice를 구현한 클래스를 사용하여 BeforeAdvice를 구현할 수 있다. LogBeforeAdvice.java package spring.aop.advice; import java.lang.reflect.Method; import org.springframework.aop.MethodBeforeAdvice; public class LogBeforeAdvice implements MethodBeforeAdvice{ @Override public void before(Method method, Object[] args, Object target) throws Throwable { // TODO Auto-generated ..
-
[Spring] 스프링 AOP 구현해보기 - AroundAdvice프로그래밍 공부/Spring 2021. 5. 5. 14:21
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. Advice : 부가 업무 로직을 언제 주 업무 로직에 적용할 지 정의한 것 - Before: 주 업무 로직 실행 전 - After returnning: 주 업무 실행 후 - After throwing: 대상 객체의 메서드가 예외를 발생시킨 경우 - Around: 주 업무 실행 전, 후 xml 파일에서 proxy 만들기 Program.java ApplicationContext context = new ClassPathXmlApplicationContext("spring/aop/setting.xml"); Exam exam = new NewlecExam(1,1,1,1); Exam proxy = (Exam)context.getBean("proxy"); Syste..
-
[Spring] AOP 코드 구현하기프로그래밍 공부/Spring 2021. 5. 5. 13:14
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. Proxy 이용하여 업무 로직, 부가 로직 분리하기 package spring.aop; import java.lang.reflect.Method; import org.springframework.cglib.proxy.InvocationHandler; import org.springframework.cglib.proxy.Proxy; import spring.aop.entity.Exam; import spring.aop.entity.NewlecExam; public class Program { public static void main(String[] args) { Exam exam = new NewlecExam(1,1,1,1); Exam proxy = (Ex..
-
[Spring] AOP란?프로그래밍 공부/Spring 2021. 5. 5. 12:12
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. AOP란? : Aspect Oriented Programming Object Oriented Programming: 사용자가 원하는 업무 기반의 로직을 프로그래밍 한 것 사용자가 요구한 업무를 개발하기 위해 개발자, 운영자, 관리자가 넣은 코드. 사용자는 모르는 부가적인 코드 즉, 관점에 따라 프로그래밍을 달리하게 됨 (객체 지향 프로그래밍보다 더 큰 개념) Concern Primary Concern: 관점에 해당되는 것 중에 주 관심사(주 업무 로직)에 해당하는 것 Cross-cutting Concern: 개발자, 운영자가 주 업무 로직을 개발하기 위해 넣은 부가적인 로직 AOP 구현 방식 : 주 업무 로직이 아닌 부가 로직을 Core Concern에 직..