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()
}

 

  1. Spring web을 추가한다.
  2. JWT Bearer기반의 인증 방식을 사용하기 위해 jwt와 security를 추가한다.
  3. connector-j (mysql driver)와 ORM은 JPA를 사용한다
  4. 데이터 유효성 검증을 위해 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

 

  1. 기본적인 datasource 설정은 아래의 블로그를 참고해주길 바란다.
  2. 서버 포트는 7777번을 사용한다.
  3. ddl-auto는 update를 사용한다.
  4. 어떤 쿼리문이 나가는지 보기위해 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/

 

  1. 사용하지 않는 더미 파일이나 보안에 필요한 파일을 실수로 github에 올리지 않도록 세팅한다.
  2. 나는 intellij의 설정파일 .idea를 세팅했다.