Spring/Spring Boot
[게시판 RESTful API] - 프로젝트 세팅 (1)
개발자가 말대꾸?
2022. 8. 20. 20:09
1. build.gradle 의존성 세팅
plugins {
id 'org.springframework.boot' version '2.7.2'
id 'io.spring.dependency-management' version '1.0.12.RELEASE'
id 'java'
}
group = 'com'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation group: 'com.auth0', name: 'java-jwt', version: '3.18.1'
runtimeOnly 'mysql:mysql-connector-java'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
tasks.named('test') {
useJUnitPlatform()
}
- Spring web을 추가한다.
- JWT Bearer기반의 인증 방식을 사용하기 위해 jwt와 security를 추가한다.
- connector-j (mysql driver)와 ORM은 JPA를 사용한다
- 데이터 유효성 검증을 위해 validation을 사용한다.
2. application.yml 세팅
server:
port: 7777
spring:
datasource:
url: jdbc:mysql://localhost:3306/developers
username: root
password: 1111
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql = true
- 기본적인 datasource 설정은 아래의 블로그를 참고해주길 바란다.
- 서버 포트는 7777번을 사용한다.
- ddl-auto는 update를 사용한다.
- 어떤 쿼리문이 나가는지 보기위해 show-sql과 format_sql를 true로 세팅한다.
3. gitignore 세팅
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
!**/src/main/resources/
!**/src/test/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
- 사용하지 않는 더미 파일이나 보안에 필요한 파일을 실수로 github에 올리지 않도록 세팅한다.
- 나는 intellij의 설정파일 .idea를 세팅했다.