Skip to content

Commit d74edc7

Browse files
authored
Merge pull request #3 from TaskFlow-CLAP/CLAP-34
CLAP-34
2 parents 75893fb + 2363120 commit d74edc7

File tree

11 files changed

+293
-4
lines changed

11 files changed

+293
-4
lines changed

.github/pull_request_template.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
>
33
44
✍🏼 상세(More)
5-
-
65

76
### PR Desciption
87

build.gradle

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
plugins {
2+
id 'java'
3+
id 'org.springframework.boot' version '3.4.1'
4+
id 'io.spring.dependency-management' version '1.1.7'
5+
}
6+
7+
group = 'clap'
8+
version = '0.0.1-SNAPSHOT'
9+
10+
java {
11+
toolchain {
12+
languageVersion = JavaLanguageVersion.of(17)
13+
}
14+
}
15+
16+
configurations {
17+
compileOnly {
18+
extendsFrom annotationProcessor
19+
}
20+
}
21+
22+
repositories {
23+
mavenCentral()
24+
}
25+
26+
dependencies {
27+
implementation 'org.springframework.boot:spring-boot-starter-web'
28+
29+
// lombok
30+
compileOnly 'org.projectlombok:lombok'
31+
annotationProcessor 'org.projectlombok:lombok'
32+
33+
// validator
34+
implementation 'org.springframework.boot:spring-boot-starter-validation:3.4.1'
35+
36+
// Spring data JPA
37+
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
38+
39+
//QueryDsl
40+
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
41+
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
42+
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
43+
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
44+
45+
// Flyway
46+
implementation 'org.flywaydb:flyway-core'
47+
implementation 'org.flywaydb:flyway-mysql'
48+
49+
// h2 db
50+
runtimeOnly 'com.h2database:h2'
51+
52+
// mysql
53+
runtimeOnly 'com.mysql:mysql-connector-j'
54+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
55+
56+
// Redis
57+
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
58+
59+
// Spring Security
60+
//implementation 'org.springframework.boot:spring-boot-starter-security'
61+
// testImplementation 'org.springframework.security:spring-security-test'
62+
63+
// MapStruct
64+
implementation 'org.mapstruct:mapstruct:1.5.3.Final'
65+
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final'
66+
67+
// Junit
68+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
69+
70+
// Json
71+
implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.1'
72+
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
73+
implementation 'com.google.code.gson:gson:2.11.0'
74+
75+
// Swagger
76+
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
77+
78+
// Email Sender
79+
implementation 'org.springframework.boot:spring-boot-starter-mail'
80+
81+
// Spring aop
82+
implementation 'org.springframework.boot:spring-boot-starter-aop'
83+
84+
}
85+
86+
tasks.named('test') {
87+
useJUnitPlatform()
88+
}

src/main/java/clap/server/TaskflowApplication.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5-
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
65

76
@SpringBootApplication
8-
@EnableJpaAuditing
97
public class TaskflowApplication {
108

119
public static void main(String[] args) {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package clap.server.global.config.aop;
2+
3+
import org.springframework.context.annotation.Configuration;
4+
import org.springframework.context.annotation.EnableAspectJAutoProxy;
5+
6+
@Configuration
7+
@EnableAspectJAutoProxy
8+
public class AspectConfig {
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package clap.server.global.config.jpa;
2+
3+
import org.springframework.context.annotation.Configuration;
4+
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
5+
6+
@Configuration
7+
@EnableJpaAuditing
8+
public class JpaAuditingConfig {
9+
10+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package clap.server.global.config.querydsl;
2+
3+
import com.querydsl.jpa.impl.JPAQueryFactory;
4+
import jakarta.persistence.EntityManager;
5+
import jakarta.persistence.PersistenceContext;
6+
import org.springframework.context.annotation.Bean;
7+
import org.springframework.context.annotation.Configuration;
8+
9+
@Configuration
10+
public class QueryDslConfig {
11+
12+
@PersistenceContext
13+
private EntityManager entityManager;
14+
15+
@Bean
16+
public JPAQueryFactory jpaQueryFactory() {
17+
return new JPAQueryFactory(entityManager);
18+
}
19+
}

src/main/resources/application.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
11
spring:
2-
application:
2+
config:
3+
import:
4+
- mysql.yml
5+
- swagger.yml
6+
- redis.yml
7+
- optional:classpath:env.properties
38
name: taskflow
9+
web.resources.add-mappings: false
10+
11+
server:
12+
port: ${APPLICATION_PORT:8080}
13+
tomcat:
14+
max-connections: 20000
15+
threads:
16+
max: 600
17+
min-spare: 100
18+
19+
---
20+
spring.config.activate.on-profile: local
21+
22+
23+
---
24+
spring.config.activate.on-profile: dev
25+
26+
27+
28+
---
29+
spring.config.activate.on-profile: prod

src/main/resources/env.properties

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
DATABASE_HOST=localhost
2+
DATABASE_USERNAME=root
3+
DATABASE_PASSWORD=joowojr0318!
4+
5+
SWAGGER_SERVER_URL=http://localhost:9999
6+
7+
APPLICATION_PORT=9999

src/main/resources/mysql.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
spring:
2+
jpa:
3+
hibernate:
4+
ddl-auto: create
5+
properties:
6+
hibernate:
7+
default_batch_fetch_size: 100
8+
format_sql: true
9+
show_sql: true
10+
11+
datasource:
12+
driver-class-name: com.mysql.cj.jdbc.Driver
13+
url: jdbc:mysql://${DATABASE_HOST:localhost}:${DATABASE_PORT:3306}/${DATABASE_NAME:taskflow}?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&autoReconnect=true
14+
username: ${DATABASE_USERNAME}
15+
password: ${DATABASE_PASSWORD}
16+
data-source-properties:
17+
rewrite-batched-statements: true
18+
19+
---
20+
spring.config.activate.on-profile: local
21+
22+
spring:
23+
flyway:
24+
enabled: false
25+
baseline-on-migrate: true
26+
locations: classpath:db/migration
27+
jpa:
28+
database: MySQL
29+
open-in-view: false
30+
generate-ddl: false
31+
hibernate:
32+
ddl-auto: update
33+
show-sql: true
34+
properties:
35+
hibernate:
36+
dialect: org.hibernate.dialect.MySQLDialect
37+
38+
logging:
39+
level:
40+
ROOT: INFO
41+
org.hibernate: DEBUG
42+
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
43+
org.hibernate.sql: debug
44+
org.hibernate.type: trace
45+
com.zaxxer.hikari.HikariConfig: DEBUG
46+
org.springframework.orm: TRACE
47+
org.springframework.transaction: TRACE
48+
com.zaxxer.hikari: TRACE
49+
com.mysql.cj.jdbc: TRACE
50+
51+
---
52+
spring.config.activate.on-profile: dev
53+
54+
spring:
55+
jpa:
56+
database: MySQL
57+
open-in-view: false
58+
generate-ddl: false
59+
hibernate:
60+
ddl-auto: update
61+
show-sql: true
62+
properties:
63+
hibernate:
64+
dialect: org.hibernate.dialect.MySQLDialect
65+
66+
flyway:
67+
enabled: false
68+
baseline-on-migrate: true
69+
locations: classpath:db/migration/dev
70+
71+
---
72+
spring.config.activate.on-profile: prod
73+
74+
spring:
75+
jpa:
76+
database: MySQL
77+
open-in-view: false
78+
generate-ddl: false
79+
hibernate:
80+
ddl-auto: none
81+
show-sql: true
82+
properties:
83+
hibernate:
84+
dialect: org.hibernate.dialect.MySQLDialect
85+
86+
flyway:
87+
enabled: false
88+
baseline-on-migrate: true
89+
locations: classpath:db/migration/prod

src/main/resources/redis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
spring:
2+
data:
3+
redis:
4+
host: ${REDIS_HOST:localhost}
5+
port: ${REDIS_PORT:6379}
6+
password: ${REDIS_PASSWORD}

0 commit comments

Comments
 (0)