-
Notifications
You must be signed in to change notification settings - Fork 0
/
pom.xml
120 lines (105 loc) · 5.21 KB
/
pom.xml
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>me.dev.oliver</groupId>
<!-- artifactId: 다른 프로젝트에서 참조하는 이름 -->
<artifactId>mytube</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- name: 현재 프로젝트 이름 -->
<name>mytube</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--
Spring MVC를 사용하는 RESTful 애플리케이션을 포함하여 웹 애플리케이션을 빌드하는 데 사용
기본 내장 컨테이너로 Tomcat을 사용 -->
<!-- spring-boot-starter-web이 Tomcat과 Spring MVC를 추가했기 때문에
자동 구성에서는 웹 응용 프로그램을 개발한다고 가정하고 이에 따라 Spring을 설정-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<!-- 기본적으로 mybatis를 포함하고, mybatis-spring,
mybatis-spring-boot-autoconfigure(데이터베이스와 연동된 설정을 자동으로 해줌)를 포함 -->
<!-- Mybatis Documentation 의하면 아래와 같은 것을 설정
- 존재하는 DataSource 자동감지
- SqlSeessionFactoryBean을 사용해서 해당 데이터소스를 전달하는 SqlSessionFactory의 객체를 생성하고 등록
- SqlSessionFactory을 이용해 SqlSessionTemplate의 객체를 생성하고 등록
- 매퍼들을 자동스캔한 뒤 스캔된 것들을 SqlSessionTemplate에 연결하고 Spring Context에 등록해서 당신의 빈들에 주입할 수 있게 해줌 -->
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- mysql같이 자주 사용되는 모듈들에 대해서는 스프링 부트와 잘 어울리는 버전들을 스프링 부트가 직접 관리하기 때문에 버전은 생략이 가능 -->
</dependency>
<!-- Getter Setter등을 간편히 에노테이션으로 사용할 수 있는 의존성 명시 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!-- 프로젝트를 참조하고 있는 다른 프로젝트에 추이적으로 의존성이 명시되지 않음 -->
<optional>true</optional>
</dependency>
<!-- hibernate.validator 의존성 명시 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- @SpringBootTest 에노테이션을 통해 스프링부트 애플리케이션 테스트에 필요한 거의 모든 의존성을 명시 -->
<!-- 모든 의존성 라이브러리 (JUnit, Spring Test & Spring Boot Test, AssertJ, Hamcrest, Mockito, JSONassert, JsonPath) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- 의존 라이브러리 모두 제외시키기 -->
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.895</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<!-- maven 의존성을 명시(jar or war 패키징 할 수 있음, 빌드 정보 생성과 프로그램 시작) -->
<!-- maven plugin: 메이븐은 여러 플러그인으로 구성되어 있으며,
각각의 플러그인은 하나 이상의 goal(명령, 작업)을 포함하고있다. Goal은 Maven의 실행단위이다
메이븐은 여러 goal을 묶어서 lifecycle phases 로 만들고 실행-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<!-- Apache Maven 에서 Spring Boot 지원을 제공
통합 테스트를 실행하기 전에 실행 가능한 jar 또는 war
(jar or war: 컴파일된 클래스 뿐만 아니라 코드 실행) 아카이브를 패키지
Spring Boot 응용 프로그램을 실행하며 빌드 정보를 생성하고 시작할 수 있음 -->
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>