试用Spring4。尝试使用Spring Boot

必须成为春天的大叔才行。

由于在工作中开始出现了使用Spring的潮流,所以我想要好好研究一下配置和注释之类的东西。因为前辈经常说,所以我也准备尝试一下。

之前

我创建了一个返回视图的Contoroller类(Contoroller是一种控制器类)

互相依赖关系

由于boot提供了相关的库,建议将其应用到项目中。同时,也推荐使用thymeleaf作为视图模板,可以直接复用。

compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.3.6.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '1.3.6.RELEASE'

插件

听说有一个方便的Gradle插件可用于SpringBoot,所以我很高兴地决定使用它。

制作一个jar文件,这样就可以轻松地运行java -jar hoge.jar,省去了繁琐的操作!

buildscript {
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.6.RELEASE")
    }
    repositories {
        mavenCentral()
    }
}
apply plugin: 'spring-boot'

主要类

@SpringBootApplication  // equivalent to using @Configuration, @EnableAutoConfiguration and @ComponentScan
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
    • Application

warをtomcatさんに渡すのではなく、単一の実行ファイルを作るためmainメソッドを定義します。
mainメソッドがあるクラスの場所は特に設定しなくていいみたい。上述のspring-bootプラグインのお陰かな。

@SpringBootApplication

SpringBoot使うならとりあえず貼っとけらしいアノテーション

@Configuration, @EnableAutoConfiguration, @ComponentScanを貼ったことと同等のものらしい

@EnableAutoConfiguration

SpringBootの基本設定等々をよしなにやってくれるらしい
具体的な項目はまだ分からない、、、

@ComponentScan

このクラス以下のパッケージから@Contorollerを探してくれるっぽい!

先行试行

$ gradle bootRun
スクリーンショット 2016-07-15 0.36.25.png

(・8・)哦!

模板文件

<html lang="jp" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8"/>
</head>
<body>
<h2>すぷりんぐぶーと!</h2>
<span th:text="${voice}"></span>(・8・)!
</body>
</html>
    • index.html

thymeleaf(SpringBoot?)の場合、テンプレートファイルは/resources/templates以下に置いてくようです

th:text=”${voice}”

viewを返すControllerクラスのメソッドが扱うModelの変数はこの要素から取得する
${}だけで取得できたJSPに比べるとちと面倒かな、、、

thymeleaf

せっかくのテンプレートエンジンですが、まだよく知らない

暂时先执行

$ gradle bootRun
スクリーンショット 2016-07-15 0.42.58.png

太棒了!(´・ω・`)

有点困扰

    • jacksonの依存関係をgradleに書いていると、内蔵tomcatが起動しない

spring-webmvcパッケージは大体のSpring以外の依存関係がoptionalで必要であれば各自解決をするというスタイルでしたが、spring-boot-starter-webはjacksonが最初から引っ張られて来るようです。

广告
将在 10 秒后关闭
bannerAds