코틀린 스프링 sample-project

문학적인유사성·2024년 8월 31일
0

language

목록 보기
24/24

thymeleaf 없을때, template 자동으로 안찾아주는거...
너무 당연하게 쓰고있어서 없을때 어떻게 되는지 이번 기회에 알게됨...
https://devzzi.tistory.com/16

lsof -i :8080
kill -9 PID

인강 ( 입문자를 위한 SpringBootWithkotlin - 나만의 포트폴리오 사이트 만들기 )
예시 : https://github.com/infomuscle/portfolio-yongback

시행착오중... : https://github.com/sawa1989/kyoin-sample
https://www.toptal.com/developers/gitignore

JPA 엔티티만 미리 정의해두고 인터페이스 만들면 spring 실행되면서 리포지토리 인터페이스 기반으로 리포지토리 클래스들을 만들어서 spring bean으로 등록해줌 -> 서비스 bean에서 리포지토리 빈들을 주입받아 바로 사용가능 ㅇㅇ
JPA 공부를 좀 해야겠꾸만..다른거 더 급한거 부터 봐야겠다

JPA 엔티티 클래스: 데이터베이스 테이블과 매핑되는 클래스를 정의합니다.
리포지토리 인터페이스: JpaRepository 등을 상속받아 CRUD 메서드를 정의합니다.
Spring이 자동으로 리포지토리 구현체를 생성: 애플리케이션 시작 시 Spring이 리포지토리 인터페이스 기반으로 구현체를 생성하고 이를 Spring Bean으로 등록합니다.
서비스 클래스에서 리포지토리 사용: 비즈니스 로직을 처리하는 서비스 클래스에서 Spring이 주입해준 리포지토리 Bean을 사용해 데이터베이스 작업을 수행합니다.

코틀린 문법 따로 강의 들어야함

--
처음 하나 만들어 보기... 음... 하나도 모르는거 확인 ^^;;
인강 결제갈겨...

https://start.spring.io

  1. Project : Gradle - kotlin
  2. language : Kotlin
  3. SpringBoot: 3.3.3
  4. Group : com.hi // Artifact : kyoin
  5. Web, JPA, H2, Devtools, Mustache 추가

  1. kotlin class 추가
package 패키지이름 넣기 

import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController
@RequestMapping("/")
class WelcomeController {

    @GetMapping()
    fun welcome(): ResponseEntity<String> {
        var msg = "Hi Kyoin"
        return ResponseEntity.ok(msg)
    }
}
  1. Dockerfile 추가
FROM eclipse-temurin:17-jdk as builder
COPY gradlew . #  Gradle 래퍼 스크립트
COPY settings.gradle.kts . # Gradle 빌드 설정파일
COPY build.gradle.kts . # Gradle 빌드 설정파일
COPY gradle gradle # Gradle Wrapper 관련파일 
COPY src src # 애플리케이션 소스 
RUN chmod +x ./gradlew 
RUN ./gradlew bootJar # JAR빌드 -> build/libs/

FROM eclipse-temurin:17-jdk
RUN mkdir /opt/app
COPY --from=builder build/libs/*.jar /opt/app/spring-boot-application.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/opt/app/spring-boot-application.jar"]
  1. docker build -t hello-world:1 .
  2. docker run -d -p 8080:8080 hello-world:1

profile
Are you nervous? Don't be

0개의 댓글