Kotlinを使用したSpring MVCセットアップ
1. 概要
このクイックチュートリアルでは、Kotlin言語を使用して単純なSpringMVCプロジェクトを作成するために必要なものを見ていきます。
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
コードをコンパイルするには、ソースディレクトリを指定し、pom.xmlのビルドセクションでKotlin Maven Pluginを構成する必要があります。
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の構成
注釈の構成は非常に簡単です。 View Controller、テンプレートリゾルバ、およびテンプレートエンジンをセットアップします。 その後、それらを使用してビューリゾルバーを構成できます。
@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構成
ApplicationWebConfigクラスに相当するXMLは次のとおりです。
この場合、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ディレクトリの下にあります。 上記のViewController構成では、基本的なView Controllerwelcome.htmlを定義しました。 対応するリソースの内容は次のとおりです。
Welcome
Body of the welcome view
5. 結論
プロジェクトを実行した後、http://localhost:8080/welcome.htmlで構成されたウェルカムページにアクセスできます。
この記事では、KotlinとXMLの両方の構成を使用して、簡単なSpring MVCプロジェクトを構成しました。
完全なソースコードはover on GitHubで入手できます。