Web/Kotlin & Spring
[Kotlin & Spring] - 자바 프로젝트에 코틀린 도입하기
JvmStatic을 이용해 정적 함수 호출하기 우선 동반 객체와 objet 키워드로 정의된 싱글턴 객체에서 정의된 함수를 코틀린에서 사용하면 자바의 static 메서드와 유사하게 사용할 수 있습니다. package jvmstatic /** * @author ihyeonseo */ class HelloClass { companion object { @JvmStatic fun hello() = "hello!" } } object HiObject { @JvmStatic fun hi() = "hi!" } fun main() { val hello = HelloClass.hello() println(hello) val hi = HiObject.hi() println(hi) } 이렇게 정의된 함수를 자바에서 사용할 ..
[Kotlin & Spring] - 스프링부트 자동 설정 & 커스텀 스타터
1. 자동 설정 자동 설정(Auto-configuration)은 스프링 부트를 말할 때 빠질 수 없는 핵심기술을 말합니다. 이는 개발자들이 스프링 관련 프레임워크나 라이브러리를 추가했을 때 번거로운 설정 없이 동작하도록 최적화된 자동 설정을 내장하고 있는 것을 말합니다. 예를 들어 스프링 부트 프로젝트에 스프링 데이터 JPA, 스프링 데이터 몽고디비와 같은 프로젝트를 적용하면 내장 설정이 동작하게 되므로 개발자는 최소한의 설정 값(DB 접속 정보 등)만 넣어주거나 경우에 따라서는 설정을 새롭게 구성할 수 있게 되는 것입니다. 2. 자동 설정 뜯어보기 스프링 부트는 애플리케이션을 실행하는 시점에 autoconfigure 모듈 내부의 META-INF 하위에 있는 메타데이터 파일을 우선적으로 검색합니다. ....
[Kotlin & Spring] - 코틀린 문법 고급
코틀린에서의 컬렉션 코틀린 컬렉션 코틀린 표준 라이브러리는 기본 컬렉션 타입인 List, Set, Map을 제공합니다. 컬렉션은 두 가지 종류로 나뉩니다. 불변 컬렉션(immutable): 읽기 전용 컬렉션 가변 컬렉션(Mutable): 삽입, 수정, 삭제와 같은 쓰기 작업이 가능한 컬렉션 컬렉션 계층 다이어그램 중요하다 싶은 코드와 내용만 아래에 정리해 보도록 하겠습니다. // mutable val mutableCurrencyList = mutableListOf().apply { add("달러") add("유로") add("원") } apply함수를 사용하면 위와같이 가독성이 좋아집니다. val numberMap = mapOf("one" to 1, "two" to 2) to라는 중위 함수로 키-밸류 구..
[Kotlin & Spring] - 코틀린의 기본 문법
코틀린의 기본문법은 제가 느끼기에 학부 모바일 앱 프로그래밍2에서 배운 Swift(스위프트)문법과 매우 비슷하게 느껴졌습니다. 그래서 제가 생소하다고 느낄만한것과 중요하다고 생각되는 것만 정리하겠습니다. 코틀린에서 NPE를 해결하는 다양한 방법 코틀린은 언어적 차원에서 NPE가 발생할 가능성을 제거합니다. 코틀린의 타입은 기본적으로 Non-Null타입으므로 null을 허용하지 않습니다. fun getNullStr(): String? = null fun getLengthIfNotNull(str: String?) = str?.length ?: 0 fun main() { val nullableStr = getNullStr() val nullableStrLength = nullableStr?.length ?: ..