🕒새벽세시 프로젝트를 진행하기 위해 프로젝트를 생성하고 환경설정을 해보자!
먼저 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파일을 저장합니다.
프로젝트를 생성하고 환경설정을 하는데에 생각보다 많은 시간이 소요되고, 또 생각보다 어려웠다. 시간이 지나 블로그에 적으려고 하니 환경설정과 관련해 빠뜨린 부분이 분명 있는 것 같아 다시 기억을 떠올려보고 생각나는대로 추가해야겠다.