書籍「はじめてのSpring Boot」のサポートページ
⭐️\ Spring Boot2\ の本は\
オンライン\ で執筆中です。サンプルコードは\
こちら\ です。⭐️
「はじめてのSpring Boot [改訂版]」サポートページ
「\
はじめてのSpring Boot [改訂版]_\ 」のサポートページです。
「はじめてのSpring Boot」初版(表紙がピンク)対応のサンプルコードは\
こちら_\ です。
このページでサンプルコードと正誤表を管理します。書籍の内容に関する間違いの指摘等はIssuesかPull Requestでお願いします。
また、疑問やコメントはTwitterでハッシュタグ「\
#hajiboot_\ 」をつけてツイートしていただければ極力お答えします。気軽にツイートしてください。
本の内容が最新Spring Bootでは動かないという場合もサポートいたします\ ので、\
Issueで報告_\ お願いいたします。 回答の保証はありませんが、Spring Bootに関するよろず質問でもOKです。
.. list-table:: :header-rows: 1
PBKPF2
PBKDF2
.. list-table:: :header-rows: 1
goToTop\ メソッドの上のアノテーション
@GetMapping(path = "edit", params = "goToTop")
@PostMapping(path = "edit", params = "goToTop")
goToTop\ メソッドの上のアノテーション
@RequestMapping(path = "edit", params = "goToTop")
@PostMapping(path = "edit", params = "goToTop")
PBKPF2
PBKDF2
application-cloud.proerties
application-cloud.properties
spring.datasource.url:jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:log4jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:log4jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
.. list-table:: :header-rows: 1
Frontend\ クラスの上の\
@Bean\ のインデントがずれている
ResponseEntity
ResponseEntity postCustomers(@RequestBody Customer customer, UriComponentsBuilder uriBuilder /* (1) */) {
editForm\ メソッドの上のアノテーション
@PostMapping(path = "edit", params = "form")
@GetMapping(path = "edit", params = "form")
goToTop\ メソッドの上のアノテーション
@GetMapping(path = "edit", params = "goToTop")
@PostMapping(path = "edit", params = "goToTop")
goToTop\ メソッドの上のアノテーション
@RequestMapping(path = "edit", params = "goToTop")
@PostMapping(path = "edit", params = "goToTop")
security.basic.enabled: false
security.basic.enabled=false
return new Pbkdf2PasswordEncoder(); // ()
return new Pbkdf2PasswordEncoder(); // (9)
dukeさんログイン中。
src/main/resources/migration/V3__add_user.sql(2箇所)
src/main/resources/migration/V3__add-user.sql
PBKPF2
PBKDF2
application-cloud.proerties
application-cloud.properties
Spring Cloud Connectorsのコネクションプールに関する設定_\ 」を追加
spring.datasource.url:jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:log4jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.url:jdbc:log4jdbc:h2:mem:customers;DB_CLOSE_ON_EXIT=FALSE
Spring Boot 1.5から、「Spring Boot Actuator」のエンドポイントに対して、自動で認可設定が行われるようになりました。 [3.5]で説明したSpring Securityを使用し、認証ユーザーに対して"ROLE_ACTUATOR"ロールを付与する事で、 認証後に「Spring Boot Actuator」のエンドポイントにアクセスできます。
あるいは\
application.properties\ に
.. code-block:: properties
management.security.enabled=false
を設定する事で、「Spring Boot Actuator」に対する認可制御を無効にできます。
AbstractCloudConfig\ のデフォルト設定ではコネクションプールに関する設定が固定されてしまいます。コネクションプールに関する設定を行う場合は、次のように\
PooledServiceConnectorConfig.PoolConfig\ クラスを使用します。
.. code-block:: java
package com.example;
import javax.sql.DataSource;
import org.springframework.cloud.config.java.AbstractCloudConfig; import org.springframework.cloud.service.PooledServiceConnectorConfig; import org.springframework.cloud.service.relational.DataSourceConfig; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile;
@Configuration @Profile("cloud") public class CloudConfig extends AbstractCloudConfig { @Bean DataSource dataSource() { PooledServiceConnectorConfig.PoolConfig poolConfig = new PooledServiceConnectorConfig.PoolConfig( 5 /* 最小プール数 /, 30 / 最大プール数 /, 3000 / 最大待機時間 */); return connectionFactory().dataSource(new DataSourceConfig(poolConfig, null)); } }
実は[4.6.3]で説明したAuto-Reconfigurationを利用すると次のログが出力されていました。
.. code-block:: console
org.apache.tomcat.jdbc.pool.ConnectionPool WARNING maxIdle is larger than maxActive, setting maxIdle to: 4``
これはAuto-Reconfiguration側で最大接続数を4に指定しているからです(バックエンドサービスの無償枠向け)。[14]
基本的にはspring-cloud-connectorを使って、コネクションプールの設定をすべきです。
[14] .. https://discuss.pivotal.io/hc/en-us/articles/221898227-Connection-pool-warning-message-maxIdle-is-larger-than-maxActive-setting-maxIdle-to-4-seen-in-PCF-deployed-Spring-app
https://github.com/Pivotal-Japan/cf-workshop/blob/master/logging.md に記載しました。
\
PCF Dev_\ は開発用にローカル環境で簡単にCloud Foundryを試すためのVM環境です。Pivotal Cloud Foundryが提供しているサービス(MySQL、Redis、RabbitMQ)も初めから組み込まれていて、Virtual Boxだけで簡単にローカル開発環境を用意できます。
書面では名前だけ挙げて、使い方を紹介していないため、 PCF Devの使い方は\
こちら_\ を参照してください。
Spring Boot 1.4からはjarのレイアウトが変わり、Cloud Foundryで動かすには\
Java Buildpack 3.7以上が必要\ になります。\
PCF Dev v.0.20.0\ 以上を使用してください。
PCF Dev v0.19以下の場合の対応方法は\
こちら_\ を参照してください。