pom.xml 설정
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
servlet-context.xml 설정
<beans:beans xmlns=
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:aspectj-autoproxy/>
annotation interface 설정
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface AuthorizationValidator {
}
aspect 설정
@Aspect
@Component
public class ValidatorAspect {
@Pointcut("@annotation(com.netmarble.npms.aop.AuthorizationValidator)")
public void accountValidator() {}
@Around("accountValidator()")
public void validateAccount(ProceedingJoinPoint joinPoint) throws Throwable {
Map<String, Object> parameterValues = (Map<String, Object>) joinPoint.getArgs()[0];
Map<String, Object> params = new HashMap<String, Object>();
Object[] obj = new Object[] { params };
joinPoint.proceed(obj);
}
}
'framework > spring' 카테고리의 다른 글
스프링 배포버전 가져오기 (0) | 2020.05.07 |
---|---|
스프링 AOP 개념 (0) | 2020.05.06 |
스프링 개발 시 고려사항 (0) | 2020.04.25 |
MVC- Controller에서 여러 service를 호출해도되는가? (0) | 2020.04.23 |
스프링에서 db 관계표현을 어떻게 할것인가 (0) | 2020.04.22 |