• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    Shell
  • Created about 10 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

書籍「はじめてのSpring Boot」のサポートページ

⭐️Spring Boot2の本はオンラインで執筆中です。サンプルコードはこちらです。⭐️


「はじめてのSpring Boot [改訂版]」サポートページ

はじめてのSpring Boot [改訂版]」のサポートページです。

「はじめてのSpring Boot」初版(表紙がピンク)対応のサンプルコードはこちらです。

このページでサンプルコードと正誤表を管理します。書籍の内容に関する間違いの指摘等はIssuesかPull Requestでお願いします。

また、疑問やコメントはTwitterでハッシュタグ「#hajiboot」をつけてツイートしていただければ極力お答えします。気軽にツイートしてください。

本の内容が最新Spring Bootでは動かないという場合もサポートいたしますので、Issueで報告お願いいたします。 回答の保証はありませんが、Spring Bootに関するよろず質問でもOKです。

正誤表 (第3刷)

場所 訂正日
P.135, 136 アルゴリズム名 PBKPF2 PBKDF2 2018-04-23

正誤表 (第2刷)

場所 訂正日
P.107 goToTopメソッドの上のアノテーション @GetMapping(path = "edit", params = "goToTop") @PostMapping(path = "edit", params = "goToTop") 2017-09-19
P.111 goToTopメソッドの上のアノテーション @RequestMapping(path = "edit", params = "goToTop") @PostMapping(path = "edit", params = "goToTop") 2017-09-19
P.135, 136 アルゴリズム名 PBKPF2 PBKDF2 2018-04-23
P.164 application-cloud.proerties application-cloud.properties 2017-09-18
P.176 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 2017-09-18
P.179 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 2017-09-18

正誤表 (第1刷)

場所 訂正日
P.31 (プログラム解説) (2),(3),(4) (1つずつずれている) (3),(4),(5) 2016-09-18
P.31 (プログラム解説) - (漏れている) (2) 「JavaConfig」を読み込むために、「@Import」で「@Configuration」アノテーション を付けた対象のクラスを指定。 2016-09-18
P.36 - Frontendクラスの上の@Beanのインデントがずれている 2016-11-07
P.44 Appクラス HajibootLayeringApplicationクラス 2016-09-18
P.61 Appクラス HajibootJdbcApplicationクラス 2016-09-18
P.61 https://console.run.pivotal.io/2/ https://console.run.pivotal.io 2016-11-07
P.81 (プログラム解説) (5), (5) (5), (6) 2016-09-18
P.83 (6) NO_CONTENT NO CONTENT 2016-11-07
P.85 204NoContent 204 No Content 2016-11-07
P.86 ResponseEntity<CustomerpostCustomers(@RequestBody Customer customer, UriComponentsBuilder uriBuilder /* (1) */) { ResponseEntity<Customer> postCustomers(@RequestBody Customer customer, UriComponentsBuilder uriBuilder /* (1) */) { 2016-11-07
P.94 (4) コンテスト・パス コンテキスト・パス 2016-11-07
P.107 editFormメソッドの上のアノテーション @PostMapping(path = "edit", params = "form") @GetMapping(path = "edit", params = "form") 2016-11-07
P.107 goToTopメソッドの上のアノテーション @GetMapping(path = "edit", params = "goToTop") @PostMapping(path = "edit", params = "goToTop") 2017-09-19
P.111 goToTopメソッドの上のアノテーション @RequestMapping(path = "edit", params = "goToTop") @PostMapping(path = "edit", params = "goToTop") 2017-09-19
P.124 (2か所) application.yml application.properties 2016-09-09
P.124 security.basic.enabled: false security.basic.enabled=false 2016-09-09
P.129 下 return new Pbkdf2PasswordEncoder(); // () return new Pbkdf2PasswordEncoder(); // (9) 2016-11-07
P.130 下 (10)の行 不要 (初版の残り) 2016-11-07
P.133 (1) 「loginForm?error=true」に遷移するように 「loginForm?error」に遷移するように 2016-11-07
P.134 下 <p><span sec:authentication="principal.user.username">duke</span>さんログイン中。</p> この3行削除 (P. 141で登場) 2016-11-07
P.135 src/main/resources/migration/V3__add_user.sql (2箇所) src/main/resources/migration/V3__add-user.sql 2016-11-07
P.135, 136 アルゴリズム名 PBKPF2 PBKDF2 2018-04-23
P.151 2つ目の (1) (2) 2016-11-07
P.152 https://console.run.pivotal.io/2/ https://console.run.pivotal.io 2016-11-07
P.164 application-cloud.proerties application-cloud.properties 2017-09-18
P.171 - [4.7]の前に「Spring Cloud Connectorsのコネクションプールに関する設定」を追加 2016-11-07
P.176 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 2017-09-18
P.179 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 2017-09-18

補足

"[4.6.4] 「Spring Boot Actuator」で「アプリケーションの状態」を監視"のSpring Boot 1.5対応

Spring Boot 1.5から、「Spring Boot Actuator」のエンドポイントに対して、自動で認可設定が行われるようになりました。 [3.5]で説明したSpring Securityを使用し、認証ユーザーに対して"ROLE_ACTUATOR"ロールを付与する事で、 認証後に「Spring Boot Actuator」のエンドポイントにアクセスできます。

あるいはapplication.properties

management.security.enabled=false

を設定する事で、「Spring Boot Actuator」に対する認可制御を無効にできます。

Spring Cloud Connectorsのコネクションプールに関する設定

AbstractCloudConfigのデフォルト設定ではコネクションプールに関する設定が固定されてしまいます。コネクションプールに関する設定を行う場合は、次のようにPooledServiceConnectorConfig.PoolConfigクラスを使用します。

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を利用すると次のログが出力されていました。

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

「[4.5.4] アプリケーションのログ」で言及されているログマネージャーとの連携方法

https://github.com/Pivotal-Japan/cf-workshop/blob/master/logging.md に記載しました。

PCF Devについて

PCF Devは開発用にローカル環境で簡単にCloud Foundryを試すためのVM環境です。Pivotal Cloud Foundryが提供しているサービス(MySQL、Redis、RabbitMQ)も初めから組み込まれていて、Virtual Boxだけで簡単にローカル開発環境を用意できます。

書面では名前だけ挙げて、使い方を紹介していないため、 PCF Devの使い方はこちらを参照してください。

FAQ

PCF Devで本のサンプルアプリをデプロイできない

Spring Boot 1.4からはjarのレイアウトが変わり、Cloud Foundryで動かすにはJava Buildpack 3.7以上が必要になります。PCF Dev v.0.20.0以上を使用してください。

PCF Dev v0.19以下の場合の対応方法はこちらを参照してください。

More Repositories

1

yavi

Yet Another Validation for Java (A lambda based type safe validation framework)
Java
645
star
2

oauth2-sso-demo

OIDC SSO Demo with Spring Boot + Spring Security + Spring Cloud Gateway
Java
358
star
3

rsc

RSocket Client CLI (RSC) that aims to be a curl for RSocket
Java
233
star
4

spring-webapp-template

Template Web Application Project for Spring (Spring MVC+Spring Data JPA+Spring Security)
Java
97
star
5

spring-boot-db-samples

Spring Boot + Data access libraries
Java
69
star
6

spring-socks

A bad microservices (Spring Version of https://microservices-demo.github.io)
Java
57
star
7

spring-boot-blank

Spring Boot Maven archetype
Java
52
star
8

spring-jpetstore

A web application built on top of Spring, Spring MVC, MyBatis 3, and Spring Security forked from http://mybatis.github.io/spring/sample.html
Java
48
star
9

from-zero-to-hero-with-rest-and-oauth2

47
star
10

demo-http2

HTTP2 w/ Spring Boot + Undertow
Java
47
star
11

travis-ci-maven-deploy-skelton

How to deploy to Maven Central by Travis CI
Shell
45
star
12

reactjs-tutorial-spring-boot

React.js Tutorial with Server Side Rendering by Spring Boot and Nashorn
JavaScript
42
star
13

spring-security-oauth-workshop

Spring Security OAuth Workshop
41
star
14

spring-boot-docker-blank

Spring Boot + Docker blank project
Shell
40
star
15

cloud-native-workshop

1 day workshop to learn Spring Boot + Spring Cloud + Pivotal Cloud Foundry
37
star
16

cf-workshop

Cloud Foundry Workshop
37
star
17

springmvc-jpa-blank

Web App Example Using Spring MVC & Spring Data JPA
Java
36
star
18

concourse-ci-demo

Concourse CI + GitHub + Pivotal Tracker + Cloud Foundry Integration Demo
Shell
36
star
19

timeflake4j

Java implementation of Timeflake
Java
35
star
20

spring-cloud-stream-tutorial

Spring Cloud Stream Tutorial
31
star
21

demo-spring-boot-1.3

Spring Boot 1.3 tiny samples
Java
29
star
22

functional-spring-cookbook

Functional Spring Cookbook
Java
28
star
23

jsug-shop

CSS
24
star
24

aws-apa

Java Library for Amazon Product Advertising API using JAX-WS
Java
23
star
25

jjugccc-handson

Java
22
star
26

blog-handson

22
star
27

clj-gae-ds

a Datastore library on Google App Engine for Clojure
Clojure
21
star
28

beansviz-spring-boot-actuator

Spring Boot Actuator Endpoint to visualize beans hierarchy
Java
21
star
29

concourse-workshop

WIP
20
star
30

spring-boot-batch-multi-jobs

Shell
19
star
31

demo-jwt

Demo Spring Security + JWT
Java
18
star
32

ltsv4j

Labeled Tab Separated Value(http://ltsv.org/) manipulator for Java
Java
17
star
33

vanilla-spring-webflux-fn-blank

Vanilla Spring WebFlux.fn Blank (Small Footpint Spring WebFlux.fn)
Java
17
star
34

k8s-keycloak-oidc-helper

Keycloak Kubernetes OpenID Connect helper
Shell
17
star
35

gateway

API Gateway for *.ik.am
HTML
15
star
36

cf-grafana

Grafana on Cloud Foundry
Shell
14
star
37

jsug-spring-boot-handson

Python
14
star
38

cf-vault

Hashicorp Vault on Cloud Foundry
Shell
14
star
39

clj-aws-ecs

Clojure Client Library for Amazon Product Advertising API
Clojure
14
star
40

devsecops-demo

Simple DevSecOps Demo
Shell
13
star
41

spring-boot-camp-instruction

Spring Bootキャンプのハンズオン資料です
Python
13
star
42

clj-gae-blank

a blank project for Clojure on Google App Engine
Clojure
13
star
43

demo-boot-graal

Java
12
star
44

voicetext4j

Java Client Library for VoiceText Web API (https://cloud.voicetext.jp/webapi)
Java
12
star
45

uaa-ui

Web UI for Cloud Foundry UAA
JavaScript
11
star
46

spring-boot-jersey-blank

Maven archetype to crate blank project for Spring Boot + Jersery (JAX-RS)
Java
11
star
47

categolj

CategoLJ is a categorizer written in clojure. This is a simple blog system.
JavaScript
10
star
48

thrift-server

Spring Boot + Thrift
Java
10
star
49

apahe-geode-on-kubernetes

Apache Geode on Kubernetes
Shell
10
star
50

spring-mvc-msgpack-sample

Spring MVC + MessagePack sample
Java
9
star
51

jqiita

Qiita API Java Client
Java
9
star
52

code-server

VS Code Server on K8s
Dockerfile
9
star
53

spring-integration-tcp-sample

Java
9
star
54

learning-rsocket-using-rsc

Java
9
star
55

spring-boot-gae-blank

Maven archetype to create a GAE-configured maven project for Spring Boot Application
Java
9
star
56

nexus-boshrelease

BOSH Release for Nexus Repository Manager
Shell
7
star
57

spring-boot-actuator-dashboard

Unlocking Cloud Foundry actuator support for non-CF apps
Java
7
star
58

beyond-the-spring-tettei-nyumon

Beyond the "Spring徹底入門"
7
star
59

marked4j

marked(https://github.com/chjj/marked) for Java which is a markdown parser and compiler
JavaScript
7
star
60

prometheus-kustomize

7
star
61

java-cnb-builder

Cloud Native Buildpacks for Java
7
star
62

elm-spring-boot-blank

Blank multi project for Spring Boot + Elm
Java
6
star
63

spring-boot-demo-jvm-languages

Spring Boot Hello World project using some JVM languages
Groovy
6
star
64

backbone-wine-cellar

Spring MVC + JPA implementation of The Wine Cellar application (https://github.com/ccoenraets/backbone-jax-cellar)
JavaScript
6
star
65

cf-eureka-server

Eureka Server on Cloud Foundry
Shell
6
star
66

shared-mysql-service-broker

Open Service Broker API for an existing shared MySQL
Java
6
star
67

javaee7-first-tutorial

Java EE 7 Tutorial http://www.slideshare.net/makingx/netbeansjavaee7-first-tutorial
Java
6
star
68

rd-clj

the Reverse Dicrtionary of Clojure
JavaScript
6
star
69

csng

CSNG is an annotation processor that simply generates property names as constants.
Java
6
star
70

hajiboot2-samples

"はじめるSpring Boot 2"のサンプルコード
Java
6
star
71

spring-boot-demo

Spring Boot Demo
Java
6
star
72

pks-master-gateway

Java
6
star
73

sonarqube-on-cf

How to deploy SonarQube on Cloud Foundry
5
star
74

opentelemetry-javaagent-buildpack

Cloud Native Buildpack for OpenTelemetry Java Agent
Shell
5
star
75

getting-started-with-spring-boot

Handson contents to learn Spring Boot
Shell
5
star
76

kubernetes-route-definition-locator

This project provides a Kubernete native way to define RouteDefinitions for Spring Cloud Gateway using CRD.
Java
5
star
77

cf-kong

Kong on Cloud Foundry (with many hacks)
Shell
5
star
78

demo-oauth2

Spring Boot and Spring Security OAuth2 Tiny Demo
Java
5
star
79

finagle-spring

Examples of Finagle with Spring
Java
5
star
80

mrs

Meeting room Reservation System
Java
5
star
81

demo-observability

Java
5
star
82

new-controller

Lambda based extensible "New Controller" for Spring MVC insipired by Spark Java, Siden (aka Sinatra like framework)
Java
5
star
83

demo-micrometer

https://demo-micrometer.cfapps.io/actuator/info
Java
5
star
84

zipkin-boshrelease

Zipkin BOSH Release
Shell
5
star
85

minimal-webflux

Minimal Spring WebFlux.fn stack
Java
5
star
86

ldap-simple-ui

A web UI for updating a LDAP user
Java
5
star
87

cdi-spring-data

Sample for the CDI integration of Spring Data JPA
Java
5
star
88

categolj-java

Micro Blog System using Spring MVC3 + MongoDB
JavaScript
5
star
89

jqgrid-support

jqgrid-support is a library for jqGrid (http://www.trirand.com/blog/). Especially with Spring MVC3.
Java
5
star
90

graalvm-springmvc-blank

Maven archetype to create a pre-configured maven project for a Spring MVC + GraalVM application.
Shell
5
star
91

demo-webflux-protobuf

Java
4
star
92

spring-mvc-tutorial-protobuf

ProtocolBuffers + Spring MVC 4.1
Java
4
star
93

hello-kotlin-js

Kotlin
4
star
94

jsug-spring-cloud

Shell
4
star
95

blog-services

Microservices for my blog application
Shell
4
star
96

blog.ik.am

Blog Contents
4
star
97

demo-restdocs-openapi

A sample project that generates OpenAPI doc from test code
Java
4
star
98

cfcr-aws

How to deploy Cloud Foundry Container Runtime (formerly known as Kubo/Kubernete on BOSH) on AWS
HCL
4
star
99

demo-jasper-report-ja

Shell
4
star
100

logspout-k8s

Shell
4
star