스프링 시큐리티를 이용해 회원가입, 로그인, 구글&네이버 로그인 기능을 만들고,
간단하게 게시판 CRUD 기능을 만들고,
AWS와 github action을 이용해 CI/CD 까지 해볼 예정이다.
일단 프로젝트를 만들었다.
build.gradle이다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.6'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com.pr'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
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.thymeleaf.extras:thymeleaf-extras-springsecurity6'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
tasks.named('bootBuildImage') {
builder = 'paketobuildpacks/builder-jammy-base:latest'
}
tasks.named('test') {
useJUnitPlatform()
}
File - FileStructure에서 sdk와 jdk를 세팅해주었다.
File - Setting - gradle에서 세팅해주었다.
다음은 실행버튼 옆에 Edit Configuration에서 세팅해주었다.
Main class를 눌러서 shift + enter를 누르면 main class를 설정해줄 수 있다.
Mysql Workbench에서 DB를 만들어 주고 스키마를 생성했다.
그에 맞춰 application.properties에서 설정해주었다.
spring.datasource.url=jdbc:mysql://localhost:3306/board_project
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1234
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create