[클론 코딩] 네이버 카페 - 프로젝트 설정, 데이터베이스 연결 설정

2024. 4. 27. 23:53Project/Naver Cafe

  해당 게시글에는 프로젝트의 설정데이터베이스 연결 설정에 대한 내용을 정리 해두었다. 모든 설정은 스펙을 구현하면서 충분히 수정 될 수 있으며, 설정 업데이트 시 해당 게시글도 추가적으로 업데이트 하도록 할 것이다.


build.gradle

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.5'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'CloneCoding'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'		// JPA
	implementation 'org.springframework.boot:spring-boot-starter-security'		// Spring Security
	implementation 'org.springframework.boot:spring-boot-starter-validation'	// Validation
	implementation 'org.springframework.boot:spring-boot-starter-web'		// Spring Web

	// lombok
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	// MySQL
	runtimeOnly 'com.mysql:mysql-connector-j'

	// JWT
	implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
	implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'
	implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'

	// QueryDSL
	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.springframework.security:spring-security-test'
}

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

// Spring Framework 6.1 이상 파라미터 인식 오류 해결
tasks.withType(JavaCompile).configureEach {
	options.compilerArgs.add("-parameters")
}

 

  특이사항은 Spring Framework 6.1 이상 버전에서 발생하는 파라미터 인식 오류에 대한 해결 코드를 추가하였다. 해당 내용에 대한 정보는 해당 게시글 아래의 참조 문서를 통해 확인하였고 개인적으로 정리한 내용은 하단의 관련글에 남겨두었다.


application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/naver_cafe
    username: user
    password: 0000

  jpa:
    database: mysql
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        format_sql: true
        show_sql: true

 

  데이터베이스는 MySQL을 사용하였고 연결 설정을 yml 파일로 작성하였다. properties 보다는 yml 이 더 직관적이기에 yml 을 사용하였다.


참고문서

 

Upgrading to Spring Framework 6.x

Spring Framework. Contribute to spring-projects/spring-framework development by creating an account on GitHub.

github.com


관련글

 

real_world/real_world/README_Files/LearningToApply.md at main · hemgom/real_world

real_world 개발. Contribute to hemgom/real_world development by creating an account on GitHub.

github.com