일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Interceptor
- spring boot
- 스프링 시큐리티
- network
- aspect
- 자바
- Filter
- 스프링
- 객체지향프로그래밍
- http
- exception
- 디자인패턴
- proxy pattern
- Spring Security
- SQL
- 인터셉터
- 트랜잭션
- request
- MYSQL
- Spring
- 스프링부트
- aop
- Redis
- mybatis
- java
- response
- RestControllerAdvice
- 관점지향프로그래밍
- OOP
- git
- Today
- Total
목록aop (5)
장쫄깃 기술블로그

멱등성(Idempotent)이란?첫 번째 수행을 한 뒤 여러 차례 적용해도 결과를 변경시키지 않는 작업 또는 기능의 속성 멱등한 작업이란, 한 번 수행하든 여러 번 수행하든 결과가 동일한 작업을 의미한다. 멱등성이 보장되면 메소드가 여러 번 실행되어도 결과가 동일하기 때문에 안전하게 사용할 수 있다. 반면, 멱등성이 보장되지 않으면 동일한 요청을 중복해서 실행할 위험이 있다. 예를 들어, 동일한 등록 요청을 중복해서 실행한다면 중복되는 여러 개의 데이터가 생성될 수 있다. HTTP 메소드의 멱등성HTTP 메소드에도 멱등성이 있다. 메소드멱등성GETOPOSTXPUTOPATCHXDELEETEOHEADOOPTIONSOTRACEOCONNECTX GET, PUT은 리소스를 조회하거나 대체하는 메소드이기 때문에..

Advice 언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의하고 있다. 예를 들어, '메서드를 호출하기 전'(언제)에 '트랜잭션을 시작한다.'(공통기능)기능을 적용한다는 것을 정의하고 있다. Target 클래스에 조인 포인트에 삽입되어져 동작(적용할 기능)할 수 있는 코드를 '어드바이스'라 한다. 관점으로서 분리되고 실행시 모듈에 위빙된 구체적인 처리를 AOP에서는 Advice라고 한다. Advice를 어디에서 위빙하는지는 뒤에 나오는 PointCut이라는 단위로 정의한다. 또한 Advice가 위빙되는 인스턴스를 '대상객체'라고 한다. advice는 Pointcut에서 지정한 Jointpoint에서 실행되어야하는 코드이다. cp.) 스프링의 Advice 타입 - Around Advice: Joinp..

들어가며 이전 글들에서 AOP에 대해 설명한 적이 있다. 그런데 AOP가 파면 팔수록 알아야 할 부분이 많다고 느꼈다. 그래서 별도로 AOP에 대한 세부적인 사항들에 대해 다뤄보려 한다. AOP(Aspect Oriented Programming) 란? AOP 는 관점 지향 프로그래밍이다. AOP는 자바와 같은 객체 지향 프로그래밍(OOP)을 더욱 OOP 답게 사용할 수 있도록 도와주는 역할을 한다. AOP에서 관점은 핵심적인 관점과 부가적인 관점으로 나눌 수 있다. 핵심적인 관점은 핵심 비즈니스 로직을 의미하고, 부가적인 관점은 공통으로 처리되어야 하는 코드를 의미한다. 예를 들어, 위 상황에서 필수적으로 처리되어야 하는 권한, 로깅, 트랜잭션 등의 공통 기능이 정말 커다란 시스템에서 각각 추가된다면 똑..

AOP에 대한 설명은 해당 글을 참고 링크 : https://jangjjolkit.tistory.com/6 [Spring Boot] Filter, Interceptor, AOP 들어가며 자바 웹 개발을 하다보면, 공통적으로 처리해야할 업무들이 많다. 예를들어 로그인, 권한, XSS, pc/mobile 등 사용자 agent 체크, 로그, 페이지 인코딩 변환 등이 있다. 공통업무에 관련된 코 jangjjolkit.tistory.com AOP 상세 설명 참고 링크 : https://jangjjolkit.tistory.com/10 [Spring Boot] AOP(Aspect Oriented Programming) 란? 들어가며 이전 글들에서 AOP에 대해 설명한 적이 있다. 그런데 AOP가 파면 팔수록 알아야 ..

들어가며 자바 웹 개발을 하다보면, 공통적으로 처리해야할 업무들이 많다. 예를들어 로그인, 권한, XSS, pc/mobile 등 사용자 agent 체크, 로그, 페이지 인코딩 변환 등이 있다. 공통업무에 관련된 코드를 모든 페이지 마다 작성 해야한다면 중복된 코드가 많아지게 되고 프로젝트 단위가 커질수록 서버에 부하를 줄 수도있으며, 소스 관리도 되지 않는다. 즉, 공통 부분은 빼서 따로 관리하는게 좋다. 이러한 공통업무를 프로그램 흐름의 앞, 중간, 뒤에 추가하여 자동으로 처리할 수 있는 방법이 위와 같은 공통처리를 위해 활용할 수 있는 것이 3가지가 있다. 1. Filter 2. Interceptor 3. AOP 스프링에서 사용되는 Filter, Interceptor, AOP 세 가지 기능은 모두 무..