일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 개발콘텐츠
- Chart.js
- TSDoc
- 폰트적용하기
- 레이아웃쪼개기
- 2022
- 티스토리꾸미기
- CSS
- 커스텀
- 성능최적화
- 반복줄이기
- react
- utilty type
- 공통컴포넌트
- React.js
- 제네릭
- JS console
- vue.js
- reactjs
- 타입좁히기
- click and drag
- React Native
- returnType
- const 단언문
- 리액트
- javascript
- NonNullable
- 누구나 자료구조와 알고리즘
- typescript
- 타입스크립트
- Today
- Total
몽땅뚝딱 개발자
[JAVA/Spring Boot] TodoList 만들기(2) - 프로젝트 생성 및 기본 설정 본문
[JAVA/Spring Boot] TodoList 만들기(2) - 프로젝트 생성 및 기본 설정
레오나르도 다빈츠 2021. 6. 9. 14:43
1. New - Spring Starter Project로 새로운 프로젝트를 생성한다.
2. Name, Package 등의 기본설정을 한다.
Java Version은 default 값이 11이라 내가 설치한 버전인 8로 변경해주었다.
3. Next > pom.xml에 들어갈 의존성들을 추가 > Finish
아래의 이미지와 같이 5개를 추가하고 시작했다.
이 프로젝트에서는 lombok을 사용하지않았지만 필요한 경우 lombok까지 추가해주면 된다.
각각 많은 편의를 제공하는 기능들이 있겠지만 내가 알고있는 소소한 사실을 설명으로 추가한다.
1) Spring Boot DevTools
class 파일이 수정될 때 마다 자동으로 빌드한다.
2) Spring Web
@Mapper, @Service 같은 어노테이션을 사용할 수 있다.
3) myBatis Framework
공식문서에는 myBatis 어플리케이션을 빠르게 빌드하기 위한 라이브러리라고 적혀있다.
myBatis를 사용하기 위한 라이브러리이며, @Mapper 어노테이션이 있는 class 파일을 검색한다.
pom.xml에는 'mybatis-spring-boot-starter'라는 이름으로 버전까지 알아서 추가된다.
Spring Boot 버전이 2.5.0이라 아래의 요구사항 표와 맞게 2.2.0 버전을 사용했다.
4. 프로젝트의 기본 구조를 생성한다.
[Spring Lagacy Project]로 만드는 프로젝트와 달리 [Spring Starter Project]에는 기본적으로 없는 폴더가 많다.
내가 원하는 구조대로 미리 폴더를 추가해주었다.
1) config, controller, service, mapper, vo 등의 패키지 추가
2) src/main에 webapp 폴더 생성
3) 생성한 webapp 폴더 밑에 'static' 폴더 생성 후 하위에 각 리소스(css, js, img 등)를 넣을 폴더들 추가
4) 생성한 webapp 폴더 밑에 'WEB-INF' 폴더 생성 후 jsp 파일을 넣을 'jsp' 폴더 추가
5) src/main/resources에 mapper.xml을 담을 'mapper' 폴더 추가
5. pom.xml에 다른 의존성을 추가한다.
📄 pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 어노테이션을 사용하기 의존성 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!-- //어노테이션을 사용하기 의존성 -->
<!-- Swagger를 사용하기 위한 의존성 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- //Swagger를 사용하기 위한 의존성 -->
<!-- JSON을 사용하기 위한 의존성 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20080701</version>
</dependency>
<!-- //JSON을 사용하기 위한 의존성 -->
<!-- jsp를 사용하기 위한 의존성 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- //jsp를 사용하기 위한 의존성 -->
<!-- jstl을 사용하기 위한 의존성 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- //jstl을 사용하기 위한 의존성 -->
<!-- myBatis를 사용하기 위한 의존성 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- //myBatis를 사용하기 위한 의존성 -->
</dependencies>
6. application.properties를 설정한다.
📄 application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
# MySql
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/todo?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=이름
spring.datasource.password=비밀번호
Model And View를 사용하지않고 JSP 이름을 리턴하면 바로 이동할 수 있도록 prefix와 suffix를 설정한다.
그리고 연결할 DB 정보를 적어준다.
참고자료
GIT
🚩 Github | https://github.com/hvsundev/Spring
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > Spring Framework' 카테고리의 다른 글
[JAVA/Spring Boot] TodoList 만들기(6) - Main Application (0) | 2021.06.13 |
---|---|
[JAVA/Spring Boot] TodoList 만들기(5) - 스크립트 (0) | 2021.06.10 |
[JAVA/Spring Boot] TodoList 만들기(4) - DB 구조 (0) | 2021.06.09 |
[JAVA/Spring Boot] TodoList 만들기(3) - JSP 구조 및 HTML/CSS (0) | 2021.06.09 |
[JAVA/Spring Boot] TodoList 만들기(1) - 개발환경 및 기능 소개 (0) | 2021.06.09 |