Spring Boot - fcm (3) 파일 구조, gradle

ysh·2023년 10월 2일
0

인턴십

목록 보기
4/25

Spring Initializr

파일 구조

  • java 파일들은 솔직히 위치는 상관없을 듯 하고 파일 구조도 개인 마다 다르니 참고로만,
    이름들도 딱히 상관 없을 듯 하다. 나중에 클래스 선언 때 맞춰서 쓰기만 하면 되니
  • ResponseDTO.java
    api 요청 후 반환 시 데이터를 구조화 해놓음.
  • FirebaseInit.java
    파이어 베이스 설정 초기화(?) 서버에서 파이어베이스 서비스 이용 시 필요한 듯 하다.
  • 컨트롤러, 서비스 이름이 apiV1인 건 컨트롤러 return이 ModelAndView가 아닌 데이터이기 때문에 맞춰놓은 것.
  • firebase-messaging-sw.js
    백 그라운드에서 알림 도착 시 실행할 코드를 적는 듯 하다. (정확하지 않음)
  • index.html 파일 이름을 index로 해놓으면 spring boot에서 자동으로 매핑을 해준다. 이로 인해 controller가 필요 없음. 그냥 편하려고 해놓음.
  • bekig-b82dd-firebase-뭐시기
    아까 콘솔에서 발급받은 '비공개 키'. 파일 형태로 나오기 때문에 resources안에 넣어놓음.
    나중에 FirebaseInit 파일에서 이 파일을 불러다 씀.

    build.gragle

    DTO 값 유효성 검사를 위한 validation과 firebase 서비스 이용을 위한 dependencies 추가함.
plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.4'
	id 'io.spring.dependency-management' version '1.1.3'
}

group = 'com.example'
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-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
    // 이 두 개 추가
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'com.google.firebase:firebase-admin:9.2.0'
    
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}
profile
유승한

0개의 댓글

관련 채용 정보