일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch13
- 스프링 mvc2 - 로그인 처리
- 스프링 입문(무료)
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch4
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch6
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch9
- 스프링 고급 - 스프링 aop
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch8
- jpa - 객체지향 쿼리 언어
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch3
- jpa 활용2 - api 개발 고급
- 스프링 mvc1 - 서블릿
- @Aspect
- 타임리프 - 기본기능
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch2
- 게시글 목록 api
- 자바의 정석 기초편 ch11
- Today
- Total
목록@Aspect (5)
나구리의 개발공부기록
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 프록시와 내부 호출 - 문제1) 문제점(1) 문제 설명스프링은 프록시 방식의 AOP를 사용하므로 AOP를 적용하려면 항상 프록시를 통해서 대상 객체(target)을 호출해야 프록시에서 먼저 어드바이스를 호출하고 이후에 대상 객체를 호출함만약 프록시를 거치지 않고 대상 객체를 직접 호출하게 되면 AOP가 적용되지 않고 어드바이스도 호출되지 않음AOP를 적용하면 스프링은 대상 객체 대신에 프록시를 스프링빈으로 등록하여 의존관계 주입시에 항상 프록시 객체를 주입함프록시 객체가 주입되기 때문에 대상 객체를 직접 호출하는 문제는 일반적으로 발생하지 않음그러나 대상 객체의 내부에서 메서..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 예제만들기1) 예제@Trace 애노테이션으로 로그 출력@Retry 애노테이션으로 예외 발생시 재시도(1) ExamRepositoryexam패키지를 생성하여 작성save메서드가 5번 호출되면 1번은 예외가 발생하도록 적용한 저장소package hello.aop.exam;@Repositorypublic class ExamRepository { private static int seq = 0; /** * 5번중 1번이 실패하는 로직을 가상으로 적용 */ public String save(String itemId) { seq++; ..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 포인트컷 지시자1) 포인트컷 지시자(1) 포인트컷 표현식애스펙트J는 포인트컷을 편리하게 표현하기 위한 특별한 표현식을 제공하는데 이를 AspectJ pointcut expression 이라고 함애스펙트J가 제공하는 포인트컷 표현식이라는 뜻으로 줄여서 포인트컷 표현식이라고함2) 종류 및 요약 설명(1) execution메소드 실행 조인 포인트를 매칭스프링 AOP에서 가장 많이 사용하고 기능도 복잡함(2) within특정 타입 내의 조인 포인트를 매칭(3) args인자가 주어진 타입의 인스턴스 조인 포인트(4) target실행 객체의 클래스에 주어진 타입의 애노테이션이 있는 조인..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 프로젝트 생성 및 예제 프로젝트 만들기1) 프로젝트 생성 (1) ProjectGradleJava 17Spring Boot 3.3.5(2) MetadataGroup: helloArtifact: aopPackaging: Jar(3) DependenciesLombok스프링 부트로 프로젝트를 생성하면 스프링 프레임워크의 핵심 모듈들은 별도의 설정이 없어도 자동으로 추가됨(4) 설정 추가build.gradle에 아래의 코드를 추가하여 aop와 test에서 lombok을 사용할 수 있도록 설정// aop 설정implementation 'org.springframework.boot:spr..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. @Aspect 프록시 - 적용1) 적용스프링은 @Aspect애노테이션으로 매우 편리하게 포인트컷과 어드바이스로 구성되어있는 어드바이저 생성 기능을 지원함직접 어드바이저를 만들었던 부분을 @AspectJ 애노테이션을 사용해서 생성** 참고@Aspect는 관점 지향 프로그래밍(AOP)을 가능하게 하는 AspectJ 프로젝트에서 제공하는 애노테이션이며 스프링은 이것을 차용해서 프록시를 통한 AOP를 가능하게 함AOP와 AspectJ 관련한 자세한 내용은 다음에 설명하며 지금은 프록시에 초점을 맞춰 이 애노테이션을 사용해서 스프링이 편리하게 프록시를 만들어 준다고 생각하면됨(1) L..