Step-by-Step

[Spring] 1. Gradle 프로젝트 생성 본문

프로젝트/Eggo (Mobile App)

[Spring] 1. Gradle 프로젝트 생성

희주(KHJ) 2022. 3. 28. 18:55
  • Gradle 프로젝트 생성
  • build.gradle 설정
  • application.properties 설정

 

1. 프로젝트 생성

New > Spring Starter Project

Gradle Project / Java 선택

필요한 Dependencies 설정 - 아래에 추가로 설명

※ 참조 : https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters

프로젝트 전체 구조 생성!

 

2. Build.Gradle

build.gradle

plugins {
	id 'org.springframework.boot' version '2.6.5'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	id 'java'
}

group = 'com.energysolution'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-jdbc'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2'
	implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'mysql:mysql-connector-java'
	annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.security:spring-security-test'
	
}

tasks.named('test') {
	useJUnitPlatform()
}

내가 프로젝트 생성시 설정했던 Dependencies가 나타나 있다

  • Spring Boot Devtools : 애플리케이션 개발 시 유용한 기능들을 제공하는 모듈
  • Spring Configuration Processor : @ConfigurationProperties를 사용을 위한 의존성
  • Spring Web : Spring MVC를 사용하여 RESTful을 포함한 웹 애플리케이션 구축 (Tomcat 기본 내장 컨테이너로 사용)
  • Spring Security : Spring Security 사용
  • Spring Data JPA : Hibernate와 함께 Spring Data JPA 사용
  • JDBC API : HikariCP Connection Pool과 함께 JDBC를 사용
  • MyBatis Framework : 개발자가 지정한 SQL, 저장 프로시저 그리고 몇 가지 고급 매핑을 지원하는 SQL Mapper
  • MySQL Driver : MySQL 사용을 위한 드라이버
  • Lombok : Java 기반에서 기계적으로 작성하는 VO, DTO, Entity 관련 작업을 쉽게 해주는 도구
  • Thymeleaf : 뷰 탬플릿으로 컨트롤러에서 리턴된 데이터들을 페이지에 동적으로 렌더링

 

3. Application.Properties

src>main>resources>application.properties

# MySQL 설정 
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# DB Source URL 
spring.datasource.url=jdbc:mysql://localhost:3306/[DB이름] 

# DB username 
spring.datasource.username=[username]

# DB password 
spring.datasource.password=[password]

# true 설정시 JPA 쿼리문 확인 가능 
spring.jpa.show-sql=true 

# DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다. 
spring.jpa.hibernate.ddl-auto=update 

# JPA의 구현체인 Hibernate가 동작하면서 발생한 SQL의 가독성을 높여준다. 
spring.jpa.properties.hibernate.format_sql=true

필요한 부분 구글링해서 작성하였고, [대괄호] 부분은 나의 DB 정보이기 때문에 수정해서 작성하였다

아직 프로젝트 생성만 했기 때문에, 차근차근 구현하면서 수정할 예정이다

 

 

'프로젝트 > Eggo (Mobile App)' 카테고리의 다른 글

[Spring] 6. 응답표준 (1)  (0) 2022.04.29
[Spring] 5. Mapper.java와 Mapper.xml 작성  (0) 2022.04.26
[Spring] 4. Service 작성  (0) 2022.04.15
[Spring] 3. DTO 작성  (0) 2022.03.30
[Spring] 2. Controller 작성  (0) 2022.03.30
Comments