inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

토비의 스프링 부트 - 이해와 원리

SpringBootApplication

MySpringApplication 코틀린 변환 코드입니다.

516

김세준
3

import org.springframework.boot.web.servlet.ServletContextInitializer
import org.springframework.boot.web.servlet.server.ServletWebServerFactory
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext
import org.springframework.web.servlet.DispatcherServlet
import kotlin.reflect.KClass

class MySpringApplication(
) {
    companion object {
        fun run(
            applicationClass: KClass<*>,
            args: Array<String>,
        ) {

            val applicationContext = AnnotationConfigWebApplicationContext()
            applicationContext.register(applicationClass.java)
            applicationContext.refresh()

            val serverFactory = applicationContext.getBean(ServletWebServerFactory::class.java)
            val dispatcherServlet = applicationContext.getBean(DispatcherServlet::class.java)

            val webServer = serverFactory.getWebServer(ServletContextInitializer {
                it.addServlet("dispatcherServlet", DispatcherServlet(applicationContext)).addMapping("/*")
            })

            webServer.start()
        }
    }
}
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.DispatcherServlet


@Configuration
@ComponentScan
class DeepApplication {

    @Bean
    fun servletWebServerFactory() = TomcatServletWebServerFactory()

    @Bean
    fun dispatcherServlet() = DispatcherServlet()
}

fun main(args: Array<String>) {
    MySpringApplication.run(DeepApplication::class, args)
}

예제 코드를 코틀린으로 변환했습니다.

마지막 코드는 부트 처음 생성 시 코드로 되돌아가면 됩니다.

fun main(args: Array<String>) {
    runApplication<DeepApplication>(*args)
}


spring kotlin

답변 0

MVC 패턴을 정확히 익힐려면 어떻게 해야할까요?

0

373

1

선생님 조언 부탁드립니다.

0

303

0

WebFlux를 실무에 적용하기 전에 고민이 있습니다.

0

324

0

커리큘럼 고민

0

379

1

스프링 백엔드 개발 로드맵

0

469

1

Spring 공부 어떤 강의 순서로 듣는게 좋은가요?

0

738

1

프로젝트와 강의 우선 순위 관련 질문드립니다!

1

478

1

부트스트랩 유료화

1

440

2

코틀린 개발자로 취업하게 되면서 고민이 생겼습니다.

0

416

1

앱 개발 노트북 추천

0

644

1

강의 구입에 관한 질문입니다(설연휴 할인 관련)

0

395

1

학습 방향에 고민이 있습니다.

0

510

1