Altiora Petamus

Toy Project. 쇼핑몰 - 프로젝트 생성 본문

MyProject

Toy Project. 쇼핑몰 - 프로젝트 생성

Haril Song 2021. 2. 8. 20:49

프로젝트 생성

본 포스팅의 목적은 개발 순서를 하나하나 구체적으로 설명하는 것이 아닌 제가 문제를 해결하는 과정을 기술하는 것이므로 기초적인 부분은 핵심만 작성하면서 진행하겠습니다.

먼저 새로운 프로젝트를 생성하여 줍니다. 선택해야하는 의존성은 아래와 같습니다.

  • Spring Boot DevTools : 서버를 재시작하지 않고 Thymeleaf 템플릿의 수정사항을 반영하기 위해서 추가합니다.
  • Lombok : "@Getter"를 비롯한 여러가지 Annotation을 사용하기 위해서 추가합니다.
  • Spring Web : Web 서비스를 만들 것이므로 당연히 추가합니다.
  • Thymeleaf : view 처리를 위한 템플릿으로 사용합니다. Spring boot에서 공식적으로 지원해주는 템플릿 엔진이며 생산성을 높일 수 있는 다양한 기능이 존재하기 때문에 선택했습니다.
  • Spring Security : 로그인 처리 및, 권한, 인증과 같은 기능을 구현하기 위해 추가합니다.
  • Spring Data JPA : 코드 안에다 SQL을 적거나 따로 mapper를 작성하지 않아도 CRUD 기능을 구현할 수 있도록 도와주는 이번 프로젝트의 핵심입니다. 한 번도 사용해본 적이 없기에 이번엔 제가 공부하기 위해서 사용해보려합니다.
  • H2 Database : H2 데이터베이스는 굉장히 가볍고 메모리 데이터베이스로도 활용이 가능하기에 간단한 프로젝트를 구현하는데 적합합니다. 설정에서 다른 DB 드라이버를 명시해주면 바로 다른 DB로도 교체가 가능하기에 이번 프로젝트에서는 H2 를 활용하겠습니다.
  • Validation : 타당성 검증을 위해서 추가합니다. Validation을 추가하면 간단한 Annotaion으로도 검증 코드를 구현할 수 있습니다.



프로젝트를 생성해줍니다. 저는 Github 에 연동하여 진행할 생각이므로 미리 등록해둔 Practice01 Repository 하위에 프로젝트를 생성합니다.







스프링 부트 메인을 실행하여 동작을 확인해봅니다.







"localhost:8080" 으로 접속하였지만 Spring Security 에 의해서 /login 으로 넘어간 모습입니다.

사실 에러페이지가 나올 것이라 생각하고 있었지만 의외의 결과였습니다... 하핳

다음은 템플릿 엔진이 정상 동작하는지 테스트하겠습니다...

...가 처음 계획이였지만 Spring Security 를 추가하게 되면 인증되지 않은 사용자는 전부 login 페이지로 튕겨져버리므로 Security 세팅을 먼저하도록 하겠습니다.

오늘의 교훈. Security 는 나중에 추가하는 것이 초기 테스트 및 세팅하기 편하다.