프로젝트/자프링 -> 코프링 마이그레이션
-
dto 코틀린으로 변환하기프로젝트/자프링 -> 코프링 마이그레이션 2022. 9. 26. 00:01
dto의 특징 dto는 양이 많다는 특징이 있습니다. 이때 dto 파일 우클릭을 통해 convert java file to kotlin file을 선택해줍니다. 이렇게 되면 변환이 끝나게 되는데 Null이 될 수 있는 값이 그대로 Null이 될 수 없는 Int로 변환될 수 있습니다. 또한 data 키워드를 앞에 붙여 dto클래스들의 toString, hashCode, equals 등을 정의해줄 수 있습니다. 또한 init부분을 취향에 따라 부생성자를 사용하거나 정적 팩토리 메서드로 만들 수 있습니다. class UserResponse(user: User) { val id: Long val name: String val age: Int? init { id = user.id!! name = user.name..
-
Repository와 Service 계층 Kotlin으로 변경하기프로젝트/자프링 -> 코프링 마이그레이션 2022. 9. 25. 00:01
기존 Java Repository interface BookRepository extends JpaRepository { Optional findByName(String bookName); } 변경된 Kotlin Repository interface BookRepository : JpaRepository { fun findByName(bookName: String): Optional } 여기서? 대신에 Optional을 사용한 이유는 Service 계층의 구현 변경 최소화를 위해 사용합니다. 추후에 Service계층을 변환하며 다시 Optional을 제거할 예정입니다. 변경 전 Java Service package com.group.libraryapp.service.user; import com.grou..
-
도메인 계층을 Kotlin으로 변경하기프로젝트/자프링 -> 코프링 마이그레이션 2022. 9. 21. 00:01
도메인 계층은 POJO에 JPA Entity라는 특징이 있습니다. 1. Book이라는 Entity를 JavaBook이라는 이름의 Entity로 변경합니다. Shift + F6을 사용하여 rename 하면 편리합니다. package com.group.libraryapp.domain.book; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import static javax.persistence.GenerationType.IDENTITY; @Entity public class JavaBook { @Id @Gener..
-
자바 프로젝트에서 코틀린 시작하기프로젝트/자프링 -> 코프링 마이그레이션 2022. 9. 18. 00:01
기존 자바 프로젝트에서 코틀린을 시작하고자 합니다. 이 포스팅은 코틀린 공식문서 "Tools -> Build tools -> Gradle"과 "Platforms -> JVM -> Spring -> Test code using JUnit in JVM - tutorial" 그리고 "실전! 코틀린과 스프링 부트 도서관리 애플리케이션 개발하기 강의를" 기반하여 작성되었습니다. 1. build.gradle에 코틀린에 관한 의존성들을 추가해줍니다. plugins { id 'org.jetbrains.kotlin.jvm' version '1.6.21' } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" } compileKotlin { ko..