모든 spring 백엔드 개발에는 기본적으로 필요한 회원가입과 CRUD 등 동작이 있다고 생각한다.
그래서 그에 따라 필수적인 동작을 기본적으로 가진 프로젝트의 틀을 구성하고 이것을 재사용하는 방식으로 서브 프로젝트들을 진행해 보려고 한다!
Spring initializr를 이용해서 기본 파일을 생성하였다.
- gradle 이용
- java 17은 release 오류가 떠서 java 11로 진행
- dependencies로는 jpa, thymeleaf, lombok, mysql 등을 추가함
저는 해당 파일을 intellj에서 동작을 수정하기로 하였습니다.
- 설정 -> gradle은 빠른 동작을 위해서 intellj를 이용하는 방식
- java compiler 또한 java 11로 맞춤
- SDK도 11로 설정
프로젝트명이 noticeboard라서 기본적인 NoticeboardApplication을 동작시켜서 문제를 확인하였습니다.
- mysql 설정이 안된 것에 따른 오류 -> properties 파일에서 설정
- mysql에 사용할 DB명에 따라 DB 생성
member을 CRUD하는 것을 목표로 기본 구조를 작성하였습니다.
- 구조 : entity - repository - service - controller
- jpa을 hibernate로 구현하였으며, entityManager를 통해서 DB에 저장하게 됨
- controller에서 mapping을 통해 api에 따라 동작할 수 있게 됨
다음은 위에서 언급한 내용에 대한 실제 동작 확인입니다!