UserRepository에서 User findByUserId(String userId); 추상메소드 추가하면 어플리케이션 실행이 안된다..
UnsatisfiedDependencyException 발생했다. Cause by BeanCreationException
[Spring] 스프링 properties 사용시 UnsatisfiedDependencyException 발생 원인
→ 오타때문에 생긴 문제였다.
생성자주입시 @Autowired 없어도됨
application.properties 에 handlebars.expose-session-attributes=true 추가
→ 세션에 있는 데이터를 모델에 담아서 템플릿 엔진에 담아주는 역할
사용자 예외 정의시 Exception 상속? RuntimeException 상속?
파이로가 공유해주신 내용
→ checked 예외는 Exception을 상속받고 unchecked 예외는 RuntimeException을 상속받는다.
[HTTP] HTTP 특성(비연결성, 무상태)과 구성요소 그리고 Restful API
HTTP의 특성
connectionless(비연결성)
: 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어버리는 것
stateless(무상태)
: 통신이 끝나면 상태를 유지하지 않는 특징
[HTTP] 쿠키( Cookie )와 세션( Session )
쿠키
사용자 정보를 브라우저에 저장하는 것
세션
서버단에 사용자 정보를 저장
특징
동작 방식
클라이언트가 서버 접속시 세션 ID 발급
클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장
→ 이때 쿠키 이름은 JSESSIONID
클라이언트가 서버에 다시 접속시 이 쿠키를 이용해서 세션 ID값을 서버에 전달
세션도 쿠키를 사용하기때문에 비슷한 역할을 하지만, 사용자의 정보가 저장되는 위치가 다르다. 쿠키는 서버의 자원을 전혀 사용하지 않는다.
토큰 (OAuth, JWT)
스프링에서 쿠키와 세션 이용하기
[Spring] 클라이언트와 서버간 연결을 유지하는 세션 & 쿠키
userId 값을 고유하게 만들기
userId의 @Column 어노테이션에 unique = true라고 해주면 된다.
(주말)