Spring 대신 Ktor 프레임워크 기반의 신규 애플리케이션 서버를 어떻게 구축했는가
코틀린의 의존성 주입 라이브러리 Koin은 복잡한 Spring 대비 간단하다.

인스턴스 생성 시 Anonotation 기반의 Spring과는 달리 Koin 명시적인 DSL형식을 사용한다.
Spring JDBC는 기본적으로 쿼리를 문자열로 작성해 타입-세이프하지 않으며, 만약 사용하려면 QueryDSL이 필요하다. Kotlin에서는 Exposed를 사용해 DSL로 감싼 명시적인 쿼리 생성이 가능하다.
스프링은 요청 처리 시 Filter → DispatcherServlet → Interceptor → Controller의 순서를 반드시 지켜야 한다. 반면 Ktor의 파이프라인을 사용하면 중간 중간에 자유롭게 페이지를 끼워넣을 수 있다.