일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- JPA스터디
- Flutter
- 플러터 공부
- JPA공부
- JPA 공부
- K8S
- 코테준비
- 스프링
- Axon framework
- 기술공부
- 스프링부트공부
- Kafka
- 기술면접공부
- nestjs스터디
- 스프링부트
- DDD
- 스프링 공부
- 플러터 개발
- nestjs공부
- querydsl
- 카프카
- 스프링공부
- 프로그래머스
- 자료구조공부
- JPA
- 코테공부
- 자바공부
- 알고리즘공부
- nestjs
- JPA예제
- Today
- Total
목록스프링 인터셉터 (4)
DevBoi
우선, 요새 회사출근과 기타등등 .. 너무 힘든 개인 업무가 많았어서 잠시 프로젝트를 쉬었다.. 공부도 쉬고... 다시 해보자... 우선 화면 단의 기초 개발 구성이 필요하다. 늘 반복하는거지만 기본적인 화면 구성을 해보자 우선 로그인 컨트롤러다. 위와 같이 로그인 컨트롤러를구현하여, view에서 로그인 호출 로직을 콜하자 성공하면 쿠키에 값을 넣자, 이는 인터셉터에서 체크하기 위함이다. 물론 redis에 넣거나,세션에 넣거나 세션에 넣고 redis에서 키를 관리하는게 일반적이지만 우선은 서비스를 다 만들고 차차 한모듈씩 업그레이드 하는걸로... 위와 같은 방식으로 로그인 체크를 하고, return 해주도록하자 아주 간단하게.. 우선은 구현을 해보자 성공적으로 화면이 돌아간것을 확인했고, 이제 쿠키의 값..
Pointcut : JoinPoint : 조인포인트는, 특정 aop가 발생되는 지점을 이야기한다. 이전 포스팅에서, 조인포인트를 지정하지 않아, 모든 메소드가 자동으로 걸렸던걸 이해하면 편하다, 이 조인포인트는 advice별로 적용이 가능하다. weaving : 위빙은 뜨개질하다라는 의미이기도 하다, 실제로 메소드나 특정 클래스가 호출될때 프록시를 통하게 되는데 해당 위빙은 프록시와, 이 타겟에 대한 동작과정을 엮는것을 의미한다. 이러한 Pointcut과 advice를 연결해주는 것을 advisor라고 한다. 시점, pointcut과 advice (행위) 를 서로 연결해 주는 중간 매개체라고 하면된다. 요런식으로 해당 매핑되는 메소드를 리스트 형태로, 세팅 할수도있다. 추가로 property name으로..
before advice는 생각 보다 단순하다. 해당 과 같이 생성하고, xml 파일에서 빈을 불러와서 로드한다. 단순히 클래스에 대한 빈등록을 하고, 해당 인터셉터 리스트에 추가해준다. 참고로 beforeAdvice는, MethodBeforeAdvice를 구현한다. AfterReturningAdvice, returnValue로, 해당 파라미터에 대한 사용도 가능하다 추가로 예외에 대한 핸들러도 등록이 가능하다. 강제로 쓰로우를 시키고 해당 쓰로우때, 빈을 등록하면, 해당 쓰로우 이후에는, 해당 인터셉터가 돈다 advice_throwing이라는 것을 볼수 있다. 여러가지의 advice를 활용하여 인터셉터를 구현해봤다. beforeAdvice,afterReturning,afterThrowing,around..
AOP 관련된 지식에 대해서 공부해보자 주 업무 비즈니스 로직의 전, 후, 전+후에 필요한 개발자 관점, 운영자 관점에서 필요한 업무가 있다 (로깅, 사용자 체크 등등) 해당 비즈니스 로직에 대한 처리 이후에 이런 공통된 작업을 해주는 것을 하는 행위를 AOP라고 한다. 이제 스프링 관련 AOP의 소스코딩을 해보자 우선 스프링 AOP를 사용하지 않았을때의 코딩 방법이다. 결과를 출력해주기 전에, 해당 과같이 작업을 해준다고 생각해보자 아니면 클래스 내에서 해당 소스를 나눴다고 생각해보자, 해당 AOP는 좋은 예로, 테스트에 대한 수행시간이다. 해당 과 같이 AOP적인 로직을 수행한다고 하면 모든 함수에, 작성해야한다. 소스를 나눈다고해도, 시점, 범위에 대한 일일히 설정하는 건 운영자로써 말도안되는 짓이..