본문 바로가기

반응형

AOP

AOP - @AOP 스프링 애노테이션 기반의 스프링 @AOP 1. 의존성 추가 org.springframework.boot spring-boot-starter-aop 2. 애스팩트 정의 package com.bpkim.demospring51; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; @Component @Aspect public class PerfAspect { // Pr.. 더보기
AOP - 프록시 기반 AOP 스프링 AOP 의 특징 - 프록시 기반의 AOP 구현체 - 스프링 빈에만 AOP를 적용할 수 있다. - 모든 AOP 기능을 제공하는 것이 목적이 아니라, 스프링 IoC와 연동하여 엔터프라이즈 애플리케이션에서 가장 흔한 문제에 대한 해결책을 제공하는 것이 목적. 프록시 패턴 - 왜 ? (기존 코드 변경 없이) 접근 제어 또는 부가 기능 추가 - 기존 코드를 건드리지 않고 일을 끼워넣기! 소스코드 - 구현할 함수를 정의한 인터페이스 package com.bpkim.demospring51; public interface EventService { void createEvent(); void publishEvent(); void deleteEvent(); } - 인터페이스를 상속하여 할 일을 선언한 Serive.. 더보기
스프링 AOP - 개념 AOP(Aspect Oriented Programming)는 OOP를 보완하는 수단으로, Aspect를 모듈화 할 수 있는 프로그래밍 기법 흩어진 관심사(Crosscultting Concerns) : 여러 클래스, 여러 메소드에 나타나는 비슷한 코드, 비슷한 필드 예) 트랜잭션 처리 Aspect - 흩어진 관심사들을 각각 모아 독립 적으로 정의 > 모듈화 한 것 - Advice : 해야할 일들 - Pointcut : 어디에 적용해야 하는지 AOP의 주요 개념 - Aspect와 Target(적용이 되는 대상) - Join point와 pointcut ** Join point : 합류점, 메소드 실행 시점, 행성자 호출, 필드 접근전, 필드에 값을 가지고 올때 등등 ** pointcut : 합류점, 메소드 .. 더보기
spring-boot-starter-web pom.xml .... org.springframework.boot spring-boot-starter-web .... .... spring-boot-starter-web만 의존성에 추가해도 스프링 프로젝트에 필요한 대부분의 라이브러리가 추가된다. 더보기

반응형