본문 바로가기

TIL(Today I Learned)

TIL-230630

📝오늘 공부한 것

  • 스파르타코딩클럽 Spring 숙련주차 1주차 ~9 강의 듣기

 

알게 된 점

[Bean을 수동 등록을 해야할 때]

 - 기술적인 문제나 공통적인 관심사를 처리할 때 사용하는 객체들을 수동으로 등록하는 것이 좋음.

 - 공통 로그처리와 같은 비즈니스 로직을 지원하기 위한 부가 적이고 공통적인 기능들을 기술 지원 Bean이라고 부르고 수동등록함.

 - 비즈니스 로직 Bean보다는 그 수가 적기 때문에 수동으로 등록하기 부담스럽지 않음.

 - 또한, 수동등록된 Bean에서 문제가 발생했을 때 해당 위치를 파악하기 쉬움.

 

[같은 타입의 Bean2개일 때]

@Primary 사용하기

- 같은 타입의 Bean이 여러 개 있더라도 우선 @Primary가 설정된 Bean 객체를 주입해줌

@Qualifier 사용하기

- 주입 받고자하는 곳에 해당 @Qualifier를 반드시 추가

 

!같은 타입의 Bean들에 QualifierPrimary가 동시에 적용되어 있다면 Qualifier의 우선순위가 더 높음!

!!@Primary는 범용적 @Qualifier는 지엽적!!

 

[인증(Authentication)]

- 해당 유저가 실제 유저인지 인증하는 개념

[인가(Authorization)]

- 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념

 

[쿠키]

 - 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일

 

[세션]

 - 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용

 - 서버에서 클라이언트 별로 유일무이한 세션 ID’를 부여한 후 클라이언트 별 필요한 정보를 서버에 저장

 - 서버에서 생성한 세션 ID’는 클라이언트의 쿠키값(‘세션 쿠키라고 부름)으로 저장되어 클라이언트 식별에 사용

 

[JWT(Json Web Token)]

 - JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim기반의 Web Token

 - 토큰의 한 종류

 

Spring을 공부하다보면 annotation들이 엄청 많이 나온다.

그래서 강의에서는 자세히 설명하지 않고 넘어가는 것들이 많은데 그럴때마다 구글링을 해보곤 한다.

근데 헷갈렸었던 annotation 중에 model 객체와 @ModelAttribute가 있었는데 정리가 잘 되어있는 블로그를 찾았다.

https://dev-coco.tistory.com/100

 

[Spring] Model 객체와 @ModelAttribute 어노테이션

Model 객체 Model 객체는 Controller 에서 생성된 데이터를 담아 View 로 전달할 때 사용하는 객체이다. ※ Servlet의 request.setAttribute() 와 비슷한 역할을 함 addAttribute("key", "value") 메서드를 이용해 view에 전

dev-coco.tistory.com

Model객체는 Controller에서 생성된 데이터를 담아 View로 전달할 때 사용하는 객체,,!

 

[filter]

 - 애플리케이션에서 관리되는 영역으로 Client로 부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있음

 - 주로 범용적으로 처리해야 하는 작업들, 예를들어 로깅 및 보안 처리에 활용

 

느낀 점🤔

- 회원가입, 로그인 구현을 해봤다.  강의에 나온 코드를 따라 적기만 했는데도 어려웠다. 쿠키, 세션, 토큰 등등 헷갈리지 않게 다시 정리해봐야겠다.