
🕒새벽세시 프로젝트를 진행하기 위해 프로젝트를 생성하고 환경설정을 해보자!
먼저 STS에서 새로운 Spring project를 생성했다. 프로젝트명은 3am-project-be


이번 프로젝트는 (
혼자 했던 프로젝트와 다르게) Backend와 Frontend가 명확히 나눠져있다. 그래서 Backend는 3am-project-be, Frontend는 3am-project-fe로 구분되어 깃헙에 올라간다!
프로젝트의 빌드 도구는 maven이다. 프로젝트에 필요한 각종 의존성들과 라이브러리 추가, 라이브러리 버전 명시 등의 프로젝트 설정 정보들은 pom.xml에 작성될 것이다.
프로젝트를 진행하며 필요한 라이브러리를 사용하기 위해 의존성을 주입해준다. 기본적으로 필요한 의존성은 프로젝트를 생성하며 추가해둔 상태다.

아래는 따로 추가한 라이브러리다. 의존성을 주입하기 위해서는 pom.xml의 <dependencies></dependencies> 태그 안에 추가하면 된다.
프로젝트의 DB는 MySQL을 사용한다.
아래처럼 의존성을 추가해주면 되는데 마찬가지로 프로젝트 생성 시 기본으로 세팅해둔 상태다.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
아래에서 DB주소, 포트번호, 스키마이름, mysql계정, 비밀번호 부분만 수정해주면 된다.
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://데이터베이스 주소:포트번호/스키마이름?useUnicode=yes&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=Asia/Seoul
username: mysql계정
password: 비밀번호
우선 처음에는 model, controller, service, mapper 패키지만 생성했지만 프로젝트를 진행하며 필요한 패키지가 더 생겨 추가한 상태다.
- model : VO(Value Object) 패키지입니다. 데이터 타입을 저장합니다.
- controller : 사용자의 요청이 진입해 요청에 따라 어떤 처리를 해줄지 결정해주며, 처리가 끝나면 view로 응답을 보내주는 패키지입니다.
- service : controller로부터 받은 처리 로직을 실질적으로 수행하는 Service 패키지 입니다. mapper와 controller 사이를 연결해줍니다.
- mapper : DAO(Data Access Object) 역할을 하는 패키지입니다. 데이터베이스 접속하는 역할을 합니다.
src/main/resources 위치에 mapper 패키지명을 폴더 경로로 만들어줍니다. 해당 경로에 mapper로 사용할 xml파일을 저장합니다.
프로젝트를 생성하고 환경설정을 하는데에 생각보다 많은 시간이 소요되고, 또 생각보다 어려웠다. 시간이 지나 블로그에 적으려고 하니 환경설정과 관련해 빠뜨린 부분이 분명 있는 것 같아 다시 기억을 떠올려보고 생각나는대로 추가해야겠다.