Instalação do Spring MVC com Kotlin
1. Visão geral
Neste tutorial rápido, daremos uma olhada no que é necessário para criar um projeto Spring MVC simples com a linguagem Kotlin.
2. Maven
Para a configuração do Maven, precisamos adicionar o seguinteKotlin dependencies:
org.jetbrains.kotlin
kotlin-stdlib-jre8
1.1.4
Também precisamos adicionar o seguinteSpring dependencies:
org.springframework
spring-web
4.3.10.RELEASE
org.springframework
spring-webmvc
4.3.10.RELEASE
Para compilar nosso código, precisamos especificar nosso diretório de origem e configurarKotlin Maven Plugin na seção de construção de nossopom.xml:
kotlin-maven-plugin
org.jetbrains.kotlin
1.1.4
compile
compile
compile
test-compile
test-compile
test-compile
3. Configuração do Spring MVC
Podemos usar a configuração de anotação Kotlin ou uma configuração XML.
3.1. Configuração Kotlin
A configuração da anotação é bem simples. Configuramos os controladores de exibição, o resolvedor de modelos e o mecanismo de modelos. Depois disso, podemos usá-los para configurar o resolvedor de exibição:
@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 }
}
}
A seguir, vamos criar uma classeServletInitializer. A classe deve estenderAbstractAnnotationConfigDispatcherServletInitializer.. Esta é uma substituição para a configuração tradicionalweb.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. Configuração XML
O XML equivalente para a classeApplicationWebConfig é:
Neste caso, temos que especificar a configuração deweb.xml também:
Spring Kotlin MVC Application
spring-web-mvc
org.springframework.web.servlet.DispatcherServlet
1
contextConfigLocation
/WEB-INF/spring-web-config.xml
spring-web-mvc
/
4. As visualizações Html
O recurso html correspondente está localizado no diretório/WEB-INF/view. Na configuração do controlador de exibição acima, definimos um controlador de exibição básico,welcome.html. O conteúdo do recurso correspondente é:
Welcome
Body of the welcome view
5. Conclusão
Depois de executar o projeto, podemos acessar a página de boas-vindas configurada emhttp://localhost:8080/welcome.html.
Neste artigo, configuramos um projeto simples do Spring MVC usando as configurações Kotlin e XML.
O código-fonte completo está disponívelover on GitHub.