spring 5

SpringBoot Kotlin Log(AOP/Filter)

안녕하세요~ 요가하는 개발자입니다 ㅎㅎ 어느날 Log를 어떻게 찍을 것이냐! 라는 이야기를 듣고, 내 나름대로 Log에 대한 데이터를 찾아보며, Log를 어떻게 찍을 것인지에 대해서 정해보았습니다. 몇가지 규칙을 정하고 자료 검색 / 사람들은 어떻게 구현하였는지에 대한 코드 분석을 하여, 아래와 같은 규칙을 정하고 구현을 시작하였습니다. 규칙. Controller / Service / Repositroy에 들어가는 ClassName과 Parameter, Time, Api 주소, Api 요청은 항상 Log로 남겨둘 것. 유저 표시로는 AOP에서 Body 데이터를 꺼내 유저에 대한 정보를 얻을 수 있는 방법을 어렵고, 현재는 Spring Security는 너무 복잡하고 무겁기 때문에, RequestHeade..

Spring 2021.06.06

EffectiveJava Question Series -1- (Item. 1 ~ Item. 7)

이펙티브 자바를 읽고 궁금한 점에 대한 시리즈물입니다. item 1. 생성자 대신 정적 팩토리 메서드를 고려하라. Java8에서 interface는 어떻게 변경이 되었고, 왜 변경하였을까요? Java8부터 Defualt Method와 Static Method가 추가됨. Java8 이전까지는 추상메서드와 상수 정의만 가능하였음. Default Method : 기본 구현을 가지는 Method Static Method : Class의 Static Method와 같음. 재정의 불가능 Default Method : 기존 인터페이스가 변경이 되면, 인터페이스를 구현하는 모든 클래스들이 해당 메소드를 구현해야 하는 문제가 있어, 해당 문제를 해결하기 위하여 인터페이스에 메소드를 구현해 놓을 수 있도록 함. Stati..

Java/EffectiveJava 2021.05.09

@Transactional 사용 시 주의해야하는 8가지

지난번에 @Transactional에 대해서 알아보았다. 오늘은 @Transactional을 사용시 주의점에 대해서 8가지정도 알아보려고 합니다. @Transactional이 무엇인지 궁금하다면, 아래의 링크를 통하여 한번 보고 오시길 바랍니다. @Transactional 이란? @Transactional Spring을 공부하다보면 AOP(Aspect oriented programming) 라는 주제가 항상 나온다. 그 AOP라는 주제에 대해서 공부하다보면 가장 먼저 나오는 AOP의 주제는 바로 @Transactional을 구현하는 것이다. 해당 @Tran.. flambeeyoga.tistory.com @Transactional 사용 시 주의해야하는 8가지 1. @Transactional의 우선순위. 클..

Spring 2021.03.21

@Transactional을 아시나요?

Spring을 공부하다보면 AOP(Aspect oriented programming) 라는 주제가 항상 나온다. 그 AOP라는 주제에 대해서 공부하다보면 가장 먼저 나오는 AOP의 주제는 바로 @Transactional을 구현하는 것이다. 해당 @Transactional을 구현하는 방법에 대해서는 토비님의 책 중에 토비의 스프링Vol1에서 AOP의 주제와 함께 세세하게 설명되어 있다. 오늘은 바로 @Transactional이 무엇인지에 대해서 설명하려고 합니다. @Transactional 이란? Spring에서 지원하는 트랜잭션 처리 Annotation. AOP로 구성되어 있으며, 직접적으로 Repository와 연결되어 작업되는 Service method에 @Transactional을 붙여주면, 처음에..

Spring 2021.03.21

@ControllerAdvice와 RequestBodyAdvice을 이용한 RequestBody 데이터 변경 방법

이 글에 앞서, 일단 @ControllerAdvice에 대해서 짧게 알아가려고 합니다. @ControllerAdvice를 아시나요? @ControllerAdvice는 짧게 말해서 Spring이 제공하는 AOP(Aspect oriented programming)의 기능 중에 하나이며, 전역에 있는 컨트롤러에 공통적으로 사용되는 것이 있을때, 적용시켜주는 annotation입니다. 현재 흔히 사용하는 @ControllerAdvice의 방법은 대표적으로 Global ExceptionHandler를 만드는 방식으로 쓰이고 있고, 많은 블로그에서 대부분 @ControllerAdvice의 예제는 Global ExceptionHandler에 대한 예제로 가득차 있다. 또한 @ControllerAdvice는 Excep..

Spring 2021.03.20