🚗 Backend Toy Project/스프링 부트 게시판

    [스프링부트 게시판] 22. 개선 및 수정사항

    이전에 강의를 듣고 완성한 프로젝트를 복습겸 처음부터 다시 작성해보고 있는데, 개선할 사항들과 스프링 부트 업데이트로 인해 수정해야하는 코드들이 종종 눈에 띄어 기록해 놓는 것이 좋을 것 같아 다시 글을 쓰게 되었습니다. 💡 DI를 수행할 때 필드 직접 주입이 아닌 생성자 주입을 수행 인프런에서 들은 강의를 바탕으로 기존에 필드 직접 주입을 통해 DI 했던 방식에서 @RequiredArgsConstructor 어노테이션과 final 키워드를 사용한 생성자 주입 방식으로 변경하였습니다. 💡 스프링 버전 업데이트로 인해 스프링 시큐리티를 통한 로그인 시에 더 이상 WebSecurityConfigurerAdapter 클래스를 사용할 수 없으므로 이는 아래와 같이 수정하였음 package com.cos.blog..

    [스프링부트 게시판] 21. 댓글 구현

    📝 View 구현 이번 시간에는 게시글에 댓글을 달 수 있도록 구현해보겠습니다. 우선 디자인을 먼저 구현해주기 위해 detail.jsp 파일에 다음과 같은 코드를 추가해주었습니다. 결과는 다음과 같습니다. 📝 View 테스트 이번에는 임의로 댓글 데이터를 삽입한 뒤 해당 데이터가 상세보기 페이지에서 잘 출력되는지 확인해보도록 하겠습니다. 먼저 MySQL에서 다음과 같이 임시 데이터를 삽입해주었습니다. 이후 detail.jsp 파일을 다음과 같이 수정합니다. 다음으로 Board 객체의 무한 참조를 방지하기 위해 Board 클래스로 이동하여 Reply 객체 필드에 다음과 같은 어노테이션을 추가해줍니다. @JsonIgnoreProperties 어노테이션은 해당 필드가 Reply 클래스에 구현되어있는 Board..

    [스프링부트 게시판] 20. 카카오 로그인

    📝 OAuth 2.0 카카오 로그인 이번 시간에는 카카오 로그인 기능을 구현해보도록 하겠습니다. 카카오 로그인 기능은 OAuth 2.0 프로토콜 기반의 사용자 인증 기능을 제공하고 있습니다. 여기서 OAuth 2.0이란 인증을 위한 개방형 표준 프로토콜로써, Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공합니다. OAuth 2.0에 대한 보다 자세한 설명은 아래 링크에서 확인하실 수 있습니다. OAuth 2.0 개념 정리 본 글은 생활코딩님의 [WEB2 - OAuth 2.0] 강의를 바탕으로 작성되었습니다. WEB2 - OAuth 2.0 수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 ..

    [스프링부트 게시판] 19. 회원정보 수정

    📝 회원정보 수정 이번 시간에는 회원정보 수정을 위한 기능을 추가해보도록 하겠습니다. 우선 우리가 header.jsp 파일에서 설정했던 경로를 요청받기 위해 Controller 클래스에 함수를 구현해주어야 합니다. 따라서 UserController 클래스에 다음과 같이 함수를 추가해줍니다. 즉 header.jsp 파일에서 구현한 버튼이 눌리게 되면 해당 버튼은 '/user/updateForm'이라는 경로를 요청하게 되며 UserController에서는 이 경로에 대한 요청을 받는 함수가 구현되어 있으므로 해당 함수에서는 요청을 받아들여 jsp 파일을 반환하고 해당 jsp 파일은 html 파일로 변환되어 사용자에게 출력될 것입니다. 아직 updateForm.jsp 파일이 없기 때문에, user 폴더 아래에..