TIL

Log

하얀잔디 2023. 4. 6. 18:07

Log 자동화를 해보자~~

 

일일히 찍는건 naver~~

 

@Configuration과

 

@Component의 차이를 알아보자

 

@Component : 개발자가 작성한 클래스를 Bean으로 등록하고자 할때 사용됨.

 

@Configuration

  • 외부라이브러리 또는 내장 클래스를 Bean으로 등록하고자 할 경우 사용(개발자가 직접 제어가 불가능한 클래스)
  • 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 사용. 즉, 해당 클래스에서 한 개 이상의 Bean을 생성하고 있을때 선언 해주어야 함

개발자가 직접 제어 가능 : @Component

개발자가 직접 제어 불가능 : @Configuration, @Bean

위와 같은 방법으로 구별을 하고 사용한다

 

아.. 그래서 SecurityConfig 같은 경우는 외부 클래스를 사용하는 경우가 있으니 @Configuration을 쓰는구나!!

 

loggingInterceptor

을 추가하려고 보니,

 

WebMvcConfigurer을 상속받은 클래스에

@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(loggingInterceptor);
}

이런식으로 추가를 해줘야하더라.. 왜지?

 

https://mangkyu.tistory.com/176

 

[Spring] 설정 자동화와 설정의 변경, @EnableWebMvc와 WebMvcConfigurer

이번에는 @EnableWebMvc 어노테이션과 WebMvcConfigurer 인터페이스에 대해 알아보도록 하자. 1. Spring에서 제공하는 설정의 자동화와 변경 [ @Enable~ 을 이용한 설정 자동화 ] Spring 기반의 프로젝트를 구축

mangkyu.tistory.com

참고하자 

 

즉 

과거에 Java의 인터페이스가 default 메소드를 제공하지 않을 때는 인터페이스인 WebMvcConfigurer를 구현하기 위해 모든 메소드를 오버라이딩해주어야 했다. 그래서 이러한 불편함을 해결하고 필요한 메소드만을 오버라이딩하도록 WebMvcConfigurerAdpater라는 클래스를 제공하여 상속하도록 하였다고 한다.

 

1. LoggingInterCeptor 구현

2. Congifuration 에 Interceptor bean 추가하기

3. WebMvcConfigurer 구현체에 addInterCeptors 추가 ( 인터셉터니까)

 

4. logback-spring.xml 생성

5. Logging Aspect 생성 

'TIL' 카테고리의 다른 글

@Transactional에 대한 이해  (2) 2023.05.03
502 에러  (0) 2023.05.02
Server to Server 동기/비동기  (0) 2023.04.06
인그레스..서비스..가상서비스..  (2) 2023.03.21
CompletableFuture.  (0) 2023.02.28