Spring MVC Настройка с Kotlin
1. обзор
В этом кратком руководстве мы рассмотрим, что нужно для создания простого проекта Spring MVC с языком Kotlin.
2. специалист
Для конфигурации Maven нам нужно добавить следующиеKotlin dependencies:
org.jetbrains.kotlin
kotlin-stdlib-jre8
1.1.4
Нам также нужно добавить следующиеSpring dependencies:
org.springframework
spring-web
4.3.10.RELEASE
org.springframework
spring-webmvc
4.3.10.RELEASE
Чтобы скомпилировать наш код, нам нужно указать наш исходный каталог и настроитьKotlin Maven Plugin в разделе сборки нашегоpom.xml:
kotlin-maven-plugin
org.jetbrains.kotlin
1.1.4
compile
compile
compile
test-compile
test-compile
test-compile
3. Конфигурация Spring MVC
Мы можем использовать либо конфигурацию аннотации Kotlin, либо конфигурацию XML.
3.1. Конфигурация Kotlin
Конфигурация аннотации довольно проста. Мы настраиваем контроллеры представления, распознаватель шаблонов и механизм шаблонов. После этого мы можем использовать их для настройки распознавателя вида:
@EnableWebMvc
@Configuration
open class ApplicationWebConfig : WebMvcConfigurerAdapter(),
ApplicationContextAware {
private var applicationContext: ApplicationContext? = null
override fun setApplicationContext(applicationContext:
ApplicationContext?) {
this.applicationContext = applicationContext
}
override fun addViewControllers(registry:
ViewControllerRegistry?) {
super.addViewControllers(registry)
registry!!.addViewController("/welcome.html")
}
@Bean
open fun templateResolver(): SpringResourceTemplateResolver {
return SpringResourceTemplateResolver()
.apply { prefix = "/WEB-INF/view/" }
.apply { suffix = ".html"}
.apply { templateMode = TemplateMode.HTML }
.apply { setApplicationContext(applicationContext) }
}
@Bean
open fun templateEngine(): SpringTemplateEngine {
return SpringTemplateEngine()
.apply { setTemplateResolver(templateResolver()) }
}
@Bean
open fun viewResolver(): ThymeleafViewResolver {
return ThymeleafViewResolver()
.apply { templateEngine = templateEngine() }
.apply { order = 1 }
}
}
Затем давайте создадим классServletInitializer. Класс должен расширятьAbstractAnnotationConfigDispatcherServletInitializer. Это замена традиционной конфигурацииweb.xml:
class ApplicationWebInitializer:
AbstractAnnotationConfigDispatcherServletInitializer() {
override fun getRootConfigClasses(): Array>? {
return null
}
override fun getServletMappings(): Array {
return arrayOf("/")
}
override fun getServletConfigClasses(): Array> {
return arrayOf(ApplicationWebConfig::class.java)
}
}
3.2. Конфигурация XML
XML-эквивалент классаApplicationWebConfig:
В этом случае мы также должны указать конфигурациюweb.xml:
Spring Kotlin MVC Application
spring-web-mvc
org.springframework.web.servlet.DispatcherServlet
1
contextConfigLocation
/WEB-INF/spring-web-config.xml
spring-web-mvc
/
4. Представления HTML
Соответствующий ресурс html находится в каталоге/WEB-INF/view. В приведенной выше конфигурации контроллера представления мы определили базовый контроллер представления,welcome.html. Содержание соответствующего ресурса:
Welcome
Body of the welcome view
5. Заключение
После запуска проекта мы можем получить доступ к настроенной странице приветствия вhttp://localhost:8080/welcome.html.
В этой статье мы настроили простой проект Spring MVC с использованием конфигурации Kotlin и XML.
Доступен полный исходный кодover on GitHub.