[Spring] AOP
·
Spring
AOP?AOP는 Aspect-Oriented Programming으로, 관점지향 프로그래밍이라고 부른다.AOP는 비즈니스 로직과는 별개의 공통 기능(횡단 관심사, cross-cutting concerns)을 분리하여 코드의 중복을 줄이고, 모듈화를 통해 코드의 유지보수를 용이하게 하는 프로그래밍 기법을 말한다.AOP의 주요 개념Aspect (관점)한 문장으로 정리하면 여러 클래스에 걸쳐 있는 관심사의 모듈화이다.트랜잭션 관리가  Java에서 횡단 관심사의 좋은 예이다.Spring AOP에서 Aspect는  스키마 기반 접근 방식  또는  @Aspect를 사용하여 구현된다. 사용 예시@Slf4j@Aspect@Component@Order(1) // @커스텀 여러개 쓸 경우 진행 순서public class L..
[Spring] 횡단 로직 - AOP를 활용한 로그인 체크 기능 구현하기
·
Spring
횡단 로직 ? 횡단 로직은 애플리케이션의 여러 부분에 공통적으로 적용되는 기능을 말한다.로깅, 보안, 트랜잭션 관리 등이 이에 해당한다.횡단 로직을 효과적으로 관리하기 위해 AOP(Aspect-Oriented Programming)를 사용한다.AOP를 통해 코드 중복을 줄이고 관심사를 분리할 수 있다. 이번 글에서는 AOP를 이용하여 로그인 체크 로직을 구현하는 방법을 정리해보려고 한다.아래 코드는 지금 현재 진행중인 팀 프로젝트 코드의 일부이다. 기본 구성@LoginCheckpackage com.coma.app.view.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.la..
[Spring] AOP와 어노테이션
·
Spring
AOP란?AOP란 Aspect-Oriented Programming의 약자로, 횡단 관심사를 모듈화하여 코드의 가독성을 높이고, 유지보수를 용이하게 하는 프로그래밍 기법이다. 주로 로깅, 보안, 트랜잭션 관리와 같은 기능에 사용된다. AOP와 어노테이션@Aspect@Aspect 어노테이션은 AOP의 핵심 요소인 Aspect를 정의한다. Aspect는 공통 관심사를 포함하는 모듈로, 메서드 실행 전후에 특정 동작을 정의할 수 있다.@Aspectpublic class MyAspect { // Advice 메서드 정의}@Pointcut@Pointcut 어노테이션은 특정 Join Point를 정의한다.Join Point는 Advice가 적용될 수 있는 지점을 의미하며, 포인트컷 표현식을 통해 정의할 수 있..
[Spring] AOP 관점지향 프로그래밍
·
Spring
AOP를 알아보기 전에 Spring에 대해 다시 복기해보자.스프링 프레임워크란?스프링 프레임워크는 IoC(제어의 역전)와 AOP(관점 지향 프로그래밍)를 지원하는 경량 프레임워크다.스프링은 POJO(Plain Old Java Object) 기반으로 설계되어 있어서 복잡한 설정 없이 간단하게 개발할 수 있게 해준다.개발자들이 일정한 구조, 틀, 규격을 따르면서 개발하기 때문에 개발 역량이 상향평준화되고, 유지보수가 용이해진다.IoC: 제어의 역전원래 객체를 생성하고 관리하는 작업은 개발자가 new 키워드를 통해 직접 수행했지만, IoC를 통해 이 작업을 컨테이너가 대신 맡는다. 이를 통해 개발자는 비즈니스 로직에만 집중할 수 있고, 결합도를 낮출 수 있다. 스프링에서는 다양한 객체들(DS, HM, VR, ..