| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- junit5
- Array
- 스프링부트
- html
- junit
- 자바문법
- SpringBoot
- Java
- string
- 정규식
- list
- js
- math
- 테스트자동화
- CSS
- HashMap
- 자바
- IntelliJ
- vscode
- Eclipse
- 배열
- Visual Studio Code
- java테스트
- 자바스크립트
- 단위테스트
- input
- 인텔리제이
- 문자열
- ArrayList
- javascript
- Today
- Total
목록2026/02/27 (2)
어제 오늘 내일
지난 포스팅에서 우리는 LogAspect 클래스를 이용해 로그를 자동화했습니다.하지만 코드가 어떻게 동작하는지 정확히 모르고 쓴다면, 나중에 "Service 계층에도 로그를 찍고 싶은데?" 라거나 "리턴 값을 바꾸고 싶은데?" 같은 상황이 왔을 때 응용하기 어렵습니다.오늘은 LogAspect 코드를 한 줄씩 해부하고, Pointcut 작성법부터 다양한 어노테이션까지 AOP의 핵심 문법을 마스터해 보겠습니다.1. 전체 코드 다시 보기먼저 분석할 대상인 LogAspect.java의 전체 코드입니다.@Slf4j@Aspect // (1) AOP 클래스 명시@Component // (2) Bean 등록public class LogAspect { // (3) Pointcut: 적용 범위 설정 (서..
log.info를 일일이 찍는 기초 단계를 넘어서, "숨만 쉬어도(API 호출만 해도) 로그가 자동으로 남는" AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 시스템을 구축해 보겠습니다.특히 우리가 만든 JWT 인증 시스템과 연동하여, "누가(User ID) 요청했는지"까지 자동으로 남기는 코드로 작성해 드립니다.1. 왜 AOP 인가요?컨트롤러가 100개라고 가정해 봅시다. 모든 메소드에 아래 코드를 넣으실 건가요?// 😱 끔찍한 노가다의 현장public String hello() { log.info("hello 메소드 시작"); // 반복 long start = System.currentTimeMillis(); // 반복 // ... 비즈니스 로직 ...
