動的起動WebコンテンツにSpring起動tutorialを基にして、私はKotlinでも同じことをしたかったのです。私のKotlinプロジェクトはこれに基づいていますtutorial。両方のチュートリアルのコードを実行しても問題はありません。SpringブートとKotlinで動的Webコンテンツを配信できない
私の理解では、テンプレートへの参照を返すコントローラを追加するだけでした。
ここHelloController.kt
(SRC /メイン/ kotlin/fooの/コントローラの下にあります):ここで
package foo.controller
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
@Controller
class HelloController {
private val log = LoggerFactory.getLogger(HelloController::class.java)
@RequestMapping("/")
fun hello(): String {
log.info("foo")
return "index"
}
}
は、私は(/ srcに/メイン/リソースの下に位置しアクセスできるようにする簡単な "テンプレート"、index.html
ですテンプレート/ index.htmlを):
<html>
<head>
</head>
<body>
Bar
</body>
</html>
私はlocalhost:8080
に行くのであれば、技術的に、私はそうでないindex.html
を表示している必要があります。代わりに私は404エラーがあります。私はhello
メソッドが呼び出されるようにログを表示しています。私は間違って何をしていますか?私はSpringブートチュートリアルで設定ファイルが見つからなかったので、Springが関数が返すものから正しいressourceを得るために何かをやっていると思います。
EDIT:
は私のgraddleの輸入を要求しました:
buildscript {
val springBootVersion = "1.4.3.RELEASE"
val kotlinVersion = "1.0.6"
extra["kotlinVersion"] = kotlinVersion
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlinVersion")
classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
}
}
apply {
plugin("kotlin")
plugin("kotlin-spring")
plugin("kotlin-jpa")
plugin("org.springframework.boot")
}
version = "0.0.1-SNAPSHOT"
configure<JavaPluginConvention> {
setSourceCompatibility(1.8)
setTargetCompatibility(1.8)
}
repositories {
mavenCentral()
}
val kotlinVersion = extra["kotlinVersion"] as String
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("com.h2database:h2")
compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
compile("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
compile("org.apache.commons:commons-io:1.3.2")
compile("org.apache.commons:commons-lang3:3.3.1")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
ここにあなたのgradle/maven依存関係を投稿してください。 – Januson
私は問題をすべてのファイルを追加しましたが、それほど明白ではありませんでした(そして私は完全にぼんやりとしています:p) – Flanfl