1. 프로젝트를 만들고 모듈을 만든다
2. Api 와 db 라는 모듈을 만들었으면 종속성을 설정해줘야 된다
service 의 build.gradle 에 먼저 들어간 뒤 나머지 설정은 다 빼주고
plugins {
id 'java'
}
allprojects {
repositories {
mavenCentral()
}
}
이렇게 설정해준다. 즉 모든 프로젝트들은 나의 말을 따라라 ~~
다음으로 Api/build.gradle 로 들어가서
dependecies 에
implementation project(':db') 추가해준다
지금까지 설정하면 자바프로젝트다. 이제 우리는 스프링 프로젝트로 바꿔줘야 된다.
먼저 부모build.gradle 로 가서
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.5'
id 'io.spring.dependency-management' version '1.1.4'
}
이렇게 코드를 넣어준다.
그다음 bootJar 이라는게 있다. 부모 프로젝트는 src 가 없기 대문에 bootJar 이 필요없다.
스프링에서 자동으로 bootJar이 만들어지는데 우리는 이걸 false해야 된다. 또한 Jar 도 패키징 안할것이다.
bootJar {
enabled = false;
}
jar{
enabled = false;
}
이제 자식을 설정해줄거다/
똑같이 plugin 에다가
plugins {
id 'java'
id 'org.springframework.boot'
id 'io.spring.dependency-management'
}
다만 버전은 명시하지 안흔다. 자동으로 부모를 따라가게 할거기 때문이다.
group = 'org.example'
version = '1.0-SNAPSHOT'
java {
sourceCompatibility = '21'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation project(':db')
//lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//spring
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//db
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
//jwt
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
}
test {
useJUnitPlatform()
}
bootJar{
enabled = true
}
jar{
enabled = false
}
의존성을 넣었으면
Api main 을 실행시켜 볼것이다. org.delivery.api 패키지를 만들고
ApiApplication 클래스를 만든뒤
@SpringBootApplication
public class ApiApplication {
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class,args);
}
}
생성하여 실행시켜준다.
db build grade
plugins {
id 'java'
id 'org.springframework.boot'
id 'io.spring.dependency-management'
}
group = 'org.example'
version = '1.0-SNAPSHOT'
java {
sourceCompatibility = '21'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
test {
useJUnitPlatform()
}
bootJar{
enabled = false
}
jar{
enabled = true
}
Api/application.yaml
spring:
jpa:
show-sql: true
properties:
format_sql: true
dialect: org.hibernate.dialect.MySQL8Dialect
hibernate:
ddl-auto: validate
datasource:
url: jdbc:mysql://localhost:3306/delivery?useSSL=false&useUnicode=true&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
token:
secret:
key: SpringBootJWTHelperTokenSecretKeyValue123!@#
access-token:
plus-hour: 1
refresh-token:
plus-hour: 12
설정
즉 반드시 jpa 를 쓰게 되면 yaml 파일로 db 와 연결해줘야 된다.
'JAVA > 배달웹 프로젝트' 카테고리의 다른 글
5. Jpa 를 이용한 UserEntity 생성 및 공통 annotation 생성 (0) | 2024.06.29 |
---|---|
4. exception , exceptionhandler , interceptor , webConfig (0) | 2024.06.29 |
2. db BaseEntity 생성 및 Config Json Swagger 등 (0) | 2024.06.28 |