[TIL] 20231129

Xtraa·2023년 11월 30일
0

TIL

목록 보기
22/99

Bean 수동 등록하는 방법

  • Bean으로 등록하고자하는 객체를 반환하는 메서드를 선언하고 @Bean을 설정합니다.
  • Bean을 등록하는 메서드가 속한 해당 클래스에 @Configuration을 설정합니다.
  • Spring 서버가 뜰 때 Spring IoC 컨테이너에 'Bean'으로 저장됩니다.

같은 타입의 Bean이 2개라면?

  • 등록된 Bean 이름 명시하기
  • @Primary 사용하기
    • @Primary가 추가되면 같은 타입의 Bean이 여러 개 있더라도 우선 @Primary가 설정된 Bean 객체를 주입 해줍니다.
  • @Qualifier 사용하기
    • 같은 타입의 Bean들에 Qualifier와 Primary가 동시에 적용되어있다면 Qualifier의 우선순위가 더 높습니다.
    • 하지만 Qualifier는 적용하기 위해서 주입 받고자하는 곳에 해당 Qualifier를 반드시 추가해야합니다.
    • 따라서 같은 타입의 Bean이 여러 개 있을 때는 범용적으로 사용되는 Bean 객체에는 Primary를 설정하고 지엽적으로 사용되는 Bean 객체에는 Qualifier를 사용하는 것이 좋습니다.

인증(Authentication)
인가(Authorization)


필터(Filter)는 웹 애플리케이션에서 클라이언트로부터 오는 요청과 서버로부터 오는 응답을 가로채고 처리하는 기능을 가진 컴포넌트입니다. 필터는 주로 웹 애플리케이션의 최초 또는 최종 단계에서 동작하며, 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가하는 역할을 수행합니다.

필터 특징

  • 요청 필터(Request Filter): 클라이언트로부터 오는 요청을 가로채고 처리합니다. 주로 로깅, 인증, 인가, 보안 등과 관련된 작업을 처리합니다. 요청 필터는 클라이언트로부터 오는 요청을 가로채기 전에 실행되며, 요청에 대한 사전 처리를 수행합니다.
    응답 필터(Response Filter): 서버로부터 오는 응답을 가로채고 처리합니다. 주로 응답의 정보를 변경하거나 추가적인 작업을 수행합니다. 응답 필터는 서버로부터 오는 응답을 가로챈 후에 실행되며, 응답에 대한 사후 처리를 수행합니다.
    필터는 일반적으로 여러 개의 필터를 체인 형태로 연결하여 사용합니다. 이러한 필터 체인은 웹 애플리케이션의 전체적인 처리 과정 중에서 특정 기능을 수행하도록 구성할 수 있습니다. 각각의 필터는 다음 필터로 요청이 전달되거나 응답이 전달되도록 체인의 다음 단계로 이동시킵니다.
  • 필터를 사용함으로써 인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있습니다. 또한, 필터를 통해 공통적으로 처리해야 하는 작업들(예: 로깅, 보안)을 중복해서 구현하는 것을 방지할 수 있습니다. 이는 코드의 재사용성과 유지보수성을 향상시키는데 도움을 줍니다.
  • 간단하게 말하면 필터는 웹 애플리케이션에서 요청과 응답에 대해 처리를 가로채고 변경 또는 추가 작업을 수행하는 기능을 제공하는 컴포넌트입니다. 이를 통해 웹 애플리케이션의 동작을 조정하고 보완하는데 사용됩니다.
profile
https://xtraa.notion.site/Xtraa-ed48ac432d354d01b5bf5b0da5ec94a9?pvs=4

0개의 댓글