前回、STSを最新版(3.9.0)にして、既存プロジェクトのStringBootとthymeleafのバージョンをあげてみました。
2018/3/3追記
>STSの最新版は3.9.2になってました。
スタータープロジェクト作成の小さな進化
で、せっかくだから、最新版でプロジェクト作り直してみようと思ったら、新規スタータープロジェクト作成時にSpringBootのバージョンを選択できるようになっていました。
小さな進化ですけど、いや、これは有り難いですね。
早速、やってみました。
新規プロジェクト作成
新規スタータープロジェクトを実行します。
次の画面で、今までなかった項目が、増えてます。
一番上段の「サービスURL」というのがそれです。
初期値に「http://start.spring.io/」ってはいっています。
実は、このURLは「SPRING INITIALIZR」という、WEBサイトをさしてます。
この「SPRING INITIALIZR」は、SpringBootのバージョンを選んで、依存関係を選択していけば、pom.xmlを自動生成してくれるという、スタータープロジェクトのWEB版みたいなものです。
以前から、そういうのがある・・のは聞いてたんですが、使ったことはありませんでした。
どうも、新しいインタフェースは、このWEB版とSTS版がくっついたみたいな感じに見えますね。
だから、サービスURLは変更しません。
今まで通り、必要項目を入力して次へ行きます。
次は、以下の画面になります。
以前とレイアウトが変わってますね。
ここでSpringBootのバージョンを選択できるようになっています。
しかも、WEB上で検索できるMavenリポジトリより、よりバージョンが新しいです。
Mavenリポジトリで見たときは、1.5.4が最新だったのに、こちらでは選択肢が1.5.6になっていました。
今回は、最新の2.0.0M3を選んでみようと思います。
2.0から、thymeleafのデフォルトが3.0系になっているのと、thymeleafのJava8DateAndTime APIの拡張が、M2からデフォルトで組み込まれるようになっていますから。
2.0から、JAVA6とJAVA7のサポートはなくなってますが、基本、もうJAVA8しか使わないですし、ちまたの評判を聞いても、JAVAのバージョン問題さえクリアできれば、SpringBootの1.5系をあえて使う積極的な理由はないらしいです。
とりあえず、プロジェクトを作りました。
これ以降の動作確認の手順は1.5.1のときの以下の記事と同じです。
ただ、application.properties に以下のように追加で記入するようにしてください。
thymeleaf用モード指定(必須)
spring.thymeleaf.mode: HTML
Springセキュリティ用設定
security.user.name=user
security.user.password=user
security.user.role=USER,ADMIN
security.basic.enabled=false
セキュリティの設定は、依存関係で「セキュリティ」にチェックをつけた場合だけです。
セキュリティにチェックをつけると、デフォルトでBASIC認証が有効になってて、「hello」画面を表示しようとすると、認証ダイアログがでてきます。
それを止めるのが、「security.basic.enabled=false」です。
ここをTrueにするか消すとダイアログがでてくるので、そのときのデフォルトユーザIDとパスワードも念のため設定しておきます。
これで実行すると、1.5.1の時同様に動きます。
実行手順もこちらを参照してください。