5月26日、JJUG CCC 2018 Springに行ってきた!ので、その内容をメモメモ
次に
Pivotal認定講師が解説!ReactiveだけじゃないSpring5&SpringBoot2新機能解説
をメモメモ
・このセッションについて
リアクティブは対象外
・自己紹介
・会社紹介(これはスポンサーセッション)
Core Spring(4日間) 800ページ
ハンズオン 6月28日
・1Coreの新機能
8ベース、
9,10,11でも使える
ロギング
8ベース
7未満では動かない
JDK9,10でも動く(Tomcatはエラー出たけど)
開発プロセスでは9,10でビルドして確認
モジュールシステム対応
Springの各jarは自動モジュール
モジュールシステム対応
module-info.javaにrequireする必要あり
・JDKアップグレードの考慮天
モジュールパスでなく、クラスパス
バイトコードレベルはJava8
ASM5が9以上拒否
Spring5.0はJDK11でも動く予定
・ロギングがより便利に
spring-jcl
commons Logging Bridge
ログバック追加するだけ
ビルド時のコンポーネントインデックス作成
spring-context-indexse
コンポーネントスキャンの遅さを解消
ビルド時のannotation Processer
ビルドすると。・・
コンポーネントしないで
インデックス利用の注意点:大きなプロジェクトでないと、意味ない
→小さいと、コンポーネントのほうが早い
@NonNull/@Nullableがつけられる→IDEで検知できる
・2Web
HTTP2対応(サーブレット4.0)
Bean Validation 2.0対応
イミュータブルなフォーム
Http2対応
Servlet4.0対応
push Builderをコントローラーメソッドの引数で取得可能
サーバーのHTTP2対応も必要:Tomcat
BeanValidation2.0
新アノテーション追加
DateTimeAPI
コレクション要素の検証
WebMvcConfigurerAdapterの非推奨
イミュータブルなフォーム
入力を変えられない→Setterいらないはず
javacの-parametersもしくはデバッグ情報の有効化必要
SpringBoot2.0+Mavenだとデフォルト
→まともに動かない。夏か秋の5.1に期待
例外処理の便利機能
3.Data:破壊的変更有
APIの変更
SpringDataJDBC
Optionalの利用
メソッド名の変更
→互換性ない
SpringData JDBC(ベータ版)
JdbcTemplateを利用したSpringData
いくつかブログ出てる
4.セキュリティ
OAuth2.0対応
従来はSoringSecurity OAuth2→ほかのライブラリにもあった
→本体で再実装
OAuth2には、
クライアント
リソースサーバー
認可サーバー
の3つのサーバーがいるが、いまのところクライアントだけ
OpenID Connectにも対応
リソースサーバは5.1→現時点ではSpring Security OAuth2.0
認可サーバーはそのあと
Delegating Password Encoder
パスワードエンコーダー:ハッシュ化する
じゅうらいは、平文ではいってしまう。
→デフォルトが入るようになった
パスワードのプリフィックスを読んで、適切なパスワードエンコーダに処理を委譲する
5.テスト
JUnit5対応
SpringEtention DI機能が使えるようになる
ParameterResolverを実装→テストメソッド引数でもDI可能
便利なアノテーション
Spring JUnit Config,webconfig
6.Boot
2.0→5.0対応→Java8以上
Date and Time API使える
セキュリティの簡素化
設定をJavaConfigに一本化
ベーシック、フォーム認証が基本
アクチュエーターの改良
デフォルトでURLぷれふぃっぅす
デフォルトではindex,helpのみ公開
エンドポイントの公開設定
有効かつ公開するとき
・その他;プロパティのリネーム
spring boot properties migratorという便利ツール出ている
→ただし、ずっと使うものではない
次に
Pivotal認定講師が解説!ReactiveだけじゃないSpring5&SpringBoot2新機能解説
をメモメモ
・このセッションについて
リアクティブは対象外
・自己紹介
・会社紹介(これはスポンサーセッション)
Core Spring(4日間) 800ページ
ハンズオン 6月28日
・1Coreの新機能
8ベース、
9,10,11でも使える
ロギング
8ベース
7未満では動かない
JDK9,10でも動く(Tomcatはエラー出たけど)
開発プロセスでは9,10でビルドして確認
モジュールシステム対応
Springの各jarは自動モジュール
モジュールシステム対応
module-info.javaにrequireする必要あり
・JDKアップグレードの考慮天
モジュールパスでなく、クラスパス
バイトコードレベルはJava8
ASM5が9以上拒否
Spring5.0はJDK11でも動く予定
・ロギングがより便利に
spring-jcl
commons Logging Bridge
ログバック追加するだけ
ビルド時のコンポーネントインデックス作成
spring-context-indexse
コンポーネントスキャンの遅さを解消
ビルド時のannotation Processer
ビルドすると。・・
コンポーネントしないで
インデックス利用の注意点:大きなプロジェクトでないと、意味ない
→小さいと、コンポーネントのほうが早い
@NonNull/@Nullableがつけられる→IDEで検知できる
・2Web
HTTP2対応(サーブレット4.0)
Bean Validation 2.0対応
イミュータブルなフォーム
Http2対応
Servlet4.0対応
push Builderをコントローラーメソッドの引数で取得可能
サーバーのHTTP2対応も必要:Tomcat
BeanValidation2.0
新アノテーション追加
DateTimeAPI
コレクション要素の検証
WebMvcConfigurerAdapterの非推奨
イミュータブルなフォーム
入力を変えられない→Setterいらないはず
javacの-parametersもしくはデバッグ情報の有効化必要
SpringBoot2.0+Mavenだとデフォルト
→まともに動かない。夏か秋の5.1に期待
例外処理の便利機能
3.Data:破壊的変更有
APIの変更
SpringDataJDBC
Optionalの利用
メソッド名の変更
→互換性ない
SpringData JDBC(ベータ版)
JdbcTemplateを利用したSpringData
いくつかブログ出てる
4.セキュリティ
OAuth2.0対応
従来はSoringSecurity OAuth2→ほかのライブラリにもあった
→本体で再実装
OAuth2には、
クライアント
リソースサーバー
認可サーバー
の3つのサーバーがいるが、いまのところクライアントだけ
OpenID Connectにも対応
リソースサーバは5.1→現時点ではSpring Security OAuth2.0
認可サーバーはそのあと
Delegating Password Encoder
パスワードエンコーダー:ハッシュ化する
じゅうらいは、平文ではいってしまう。
→デフォルトが入るようになった
パスワードのプリフィックスを読んで、適切なパスワードエンコーダに処理を委譲する
5.テスト
JUnit5対応
SpringEtention DI機能が使えるようになる
ParameterResolverを実装→テストメソッド引数でもDI可能
便利なアノテーション
Spring JUnit Config,webconfig
6.Boot
2.0→5.0対応→Java8以上
Date and Time API使える
セキュリティの簡素化
設定をJavaConfigに一本化
ベーシック、フォーム認証が基本
アクチュエーターの改良
デフォルトでURLぷれふぃっぅす
デフォルトではindex,helpのみ公開
エンドポイントの公開設定
有効かつ公開するとき
・その他;プロパティのリネーム
spring boot properties migratorという便利ツール出ている
→ただし、ずっと使うものではない