试用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
(・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
太棒了!(´・ω・`)
有点困扰
-
- jacksonの依存関係をgradleに書いていると、内蔵tomcatが起動しない
spring-webmvcパッケージは大体のSpring以外の依存関係がoptionalで必要であれば各自解決をするというスタイルでしたが、spring-boot-starter-webはjacksonが最初から引っ張られて来るようです。