はじめてのSpringBoot

 はじめてのSpringBoot

【福岡】読んだ内容まとめてLT会#7 の発表資料です。

9fe21c2eb24c902593f170c4d63cc8bc?s=128

ふるてつ

April 01, 2019
Tweet

Transcript

  1. はじめてのSpring Boot 【福岡】読んだ内容まとめてLT会#7 2019.4.16

  2. 自己紹介 福岡のエンジニアです。 客先常駐するタイプです。 COBOL → VB6.0 → VB.net → Spring

    BootなIT人生。 他 jQuery → AngularJS → Angular 定年後の夢は、年金をもらいながら自称IT発明家になることです。 ふるてつ@tetsufuru19681 https://tetsufuru.hatenablog.com/ ちょくちょく参加するコミュニティ
  3. 誰に紹介したいか  新人教育担当に この本を使って実習させると良いと思います。 1ヶ月もあれば終わります。 薄い本なので飽きないと思います。  Java経験者だが実は不安だという方に 業務部分のみ開発していてそれ以外の事が実はあまりよくわかっていない方。 昔

    Struts とか Caesar は経験したけど Springはちょっと…という方。  普段、他の言語で開発しているがJavaも一応知っておきたい方に
  4. 内容  1章 「Spring Boot」とは  2章 速習「Spring Framework」 「Spring

    Framework」によるDI 「Spring JDBC」によるDBアクセス 「Spring Data JPA」によるDBアクセス  3章 「Spring Boot」による「Webアプリ開発」 「Rest Webサービス」の開発 「Thymeleaf」を使った、「画面のあるWebアプリ」の開発 「Flyway」で「DBマイグレーション」 「Spring Security」で「認証」「認可」を追加  4章 Paas 「Cloud Foundry」にデプロイ  5章 「Spring Boot」におけるテスト
  5. 1章 「Spring Boot」とは  「Spring Framework 」の歴史  「Spring Framework」は、2003年に登場したJava

    Framework  「DI」「AOP」で注目された。  「Spring Bootとは」  あらかじめおすすめのプロジェクトの組み合わせが含まれている。  自動で設定が有効になる。  組み込みサーバが同梱される。  「Spring Initializr」によるひな形プロジェクト作成  ひな形生成Webサービス(http://start.spring.io)でプロジェクト作成 ⇒ 勉強以外では使いません多分…  Mavenの依存関係定義ファイル(pom.xml)の解説  「Hello World!」を出力するWebアプリケーションの作成  実行可能な「Jarファイル」の作成  「Spring Tool Suite」を利用した「Spring Boot」アプリケーションの開発 ⇒ EclipseにSTSプラグインを入れたほうが良い。  「Spring Dev Tools」(アプリケーションを起動したまま、Javaクラスの変更を動的に反映)
  6. 2章 速習「Spring Framework」  「Spring Framework」によるDI  メリット  インスタンスの「スコープ」を制御できる。

     インスタンスの「ライフ・サイクル」をイベント制御できる。  共通的な処理を埋め込める。  オブジェクト間が疎結合になるため「ユニット・テスト」がしやすくなる。  「レイヤー化」した「コンポーネント」の「インジェクション」  アノテーション(@Component、@Controller、@Service、@Repository)を使用してプロジェクトを作成  Lombokを使用  「Spring JDBC」によるDBアクセス  JDBC、H2、Lombokを使用してプロジェクトを作成  SQLログの設定(Log4JDBCの設定)  「Spring Data JPA」によるDBアクセス  JPA、H2、Lombokを使用してプロジェクトを作成  ページング処理
  7. 3章 「Spring Boot」による「Webアプリ開発」  「REST Webサービス」の開発 「全件取得」「1件取得」APIを作成する(GET) 「新規作成」「1件更新」「1件削除」APIを作成する(POST、PUT、DELETE) 「「Thymeleaf」を使った、「画面のあるWebアプリ」の開発 Thymeleaf、JPA、H2、Lombokを使用してプロジェクトを作成(顧客情報のメンテナンス)

    Flywayの設定方法(DBのバージョン管理) 「Spring Security」で「認証」「認可」 SecurityConfig、LoginUserDetail、LoginUserDetailsServiceクラスの使い方
  8. 作成するコードの例(Repository、Entity)

  9. 作成するコードの例(RestController、Service)

  10. Spring Security

  11. Flyway

  12. 「Thymeleaf」を使用したWebアプリの例  ログインと一覧画面、詳細画面  月並みな画面ですが勉強なので 多くは求めないでください

  13. 注意点  本の内容が少し古くなってきているので注意してください。  「STS」は使用しないほうが良い。 Eclipseに「STS」pluginをバージョン指定(1.4.0.RELEASE)して取り込んだほうが良い。 @AutoWiredは非推奨。いまはコンストラクターインジェクション。  Spring Securityも仕様が現在若干変わっている。

    Basic認証の外し方がいまは違うなど。 本と同じバージョンを指定して取り込んだほうが良い(4.1.1.RELEASE)  「Spring Initializr」は正直使わなくてよい。 Eclipseのメニューから「新規」 ⇒ 「その他」 ⇒ 「Spring Boot 」 ⇒ 「Spring Bootスターター・プロジェクト」で新規作成 したほうがい良い。  「Spring Data JPA」は複雑なSQLを書くときにちょっと大変。  個人的にはMavenよりもGradleの方が使いやすい。
  14. 終わりに https://techacademy.jp/magazine/8735

  15. ありがとうございました。