概要
Vaadinのadd-onでのSpring対応が進んできていて、いつの間にかstart.spring.ioにもVaadinの項目が増えている。
というわけで、以前チャレンジした Vaadin4SpringでのSpring Bootプロジェクト を、start.spring.ioで入手できるプロジェクトに使われている vaadin-spring-boot-starter に変更してみた。
pom.xml
以前のpom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>com.vaadin</groupId>
</dependency>
<!--中略-->
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadinserver</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<groupId>org.vaadin.spring</groupId>
<artifactId>springbootvaadin</artifactId>
<version>${sbv.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadinthemes</artifactId>
<version>${vaadin.version}</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadinclientcompiled</artifactId>
<version>${vaadin.version}</version>
</dependency>
vaadin-spring-boot-starterを使ったpom.xml
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
<version>${sbv.version}</version>
</dependency>
<!--中略-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>${vaadin.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
dependencyManagement が増えたけど、vaadinとspring-boot-starter-webのdependencyがvaadin-spring-boot-starterに内包されたので、実際のpom.xmlはかなり見通しが良くなって素敵。
アノテーション
@UIScope
は @SpringUI
に、@VaadinView
は @SpringView
に変更になった。利用方法は変わらないので、そのまま入れ替えるだけで対応できた。
サンプルコード
Vaadin4Springで作った認証のサンプルコードが、ほぼ上の変更だけでそのまま動いた。valoテーマは綺麗でほれぼれするなあ。
書き換えたサンプルコードはこちら。