로그인 관련(세션체크) 처리, 권한체크, XSS(Cross site script) 방어, 로깅, 페이지 인코딩 변환 등, 종단이 아닌 횡단으로 관리하고 싶은 요소들이 있다.
이렇듯 횡단으로 공통 부분을 모아서 관리, 조금 어려운 말로 횡단 관심사를 핵심 로직과 분리하여 처리하는 개념이자 방식을 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)이라고 부른다.
그리고 그 AOP의 하위 범주에 있는것이 Filter, Interceptor, Spring AOP이다.
Spring AOP는 Spring 측에서 AOP라는 개념을 어노테이션과 메서드 등으로 구현한 구현체인 것이다.
AOP로 구글에 검색해보면 Spring AOP와 AOP를 동일시해서 말하는 포스팅이 많다.
다른 개발자분들이랑 대화해봐도 이 논점에 차이에 의해 서로 다른 곳을 바라보며 얘기를 하고 있는 적도 있었고,
심지어 현재 기준의 gpt도 그렇게 말하는 거 보니, 암암리에 동일시하는 것 같기도 하다. ( gpt랑 격렬하게 논쟁을 벌였다.)
하지만 나는 Entity라는게 JPA의 @Entity랑 동일시 하는 것과 다를바가 없다고 생각해, 이번 기회에 다잡고 가려고 한다. 반박은 환영합니다.
728x90
'개발 공부 기록 > 02. Spring Boot' 카테고리의 다른 글
[SpringBoot] 프로젝트 만들 때 들어가는 Group? Artifact? 얘내는 뭐지? (0) | 2024.04.01 |
---|---|
Spring Boot에서 MQTT 사용해보기 (0) | 2024.02.13 |
Mybatis 기본적인 사용법 정리 (0) | 2024.01.25 |
SpringBoot와 MongoDB 연동하기 (1) | 2024.01.24 |
JPA, Hibernate, Spring Data JPA란? (0) | 2023.12.11 |