概要
Spring Bootのキャッチアップに有効な情報源のまとめです。技術書もキャッチアップに有効ですが、この記事ではweb上の情報源に絞りました。
リンク集のような内容なのでサーチエンジンにインデックスされないように限定共有投稿にしています。
[spring projects (official site)] (https://spring.io/projects)
キャッチアップに外せない情報の1つです。ブログにもときどきtipsが投稿されます。
[Spring Boot] (https://projects.spring.io/spring-boot/)
- [Spring Boot Reference Guide] (https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/)
- [API] (https://docs.spring.io/spring-boot/docs/current/api/)
[Pivotal Application Security Team] (https://pivotal.io/security)
Spring FrameworkやSpring Bootなどを含むPivotal製品全般のセキュリティ脆弱性を報告するページです。
RSS feedも用意されています。
GitHub
Springのプロジェクトの中には課題管理にGitHubのIssuesを利用しているものがあります。
たとえばSpring BootやSpring Securityなどがそうで、GitHubのアカウントを持っていればIssueを上げることができます。
Issuesではバグ以外にも仕様検討や拡張などのチケットも作成されているので、今後どのように変わっていくのか推測することができると思います。
またWikiページにリリースノートなどのドキュメントが作成されています。
[spring-projects/spring-framework] (https://github.com/spring-projects/spring-framework)
- 課題管理は後述のJIRAで行っています。
- [Wiki] (https://github.com/spring-projects/spring-framework/wiki)
[spring-projects/spring-boot] (https://github.com/spring-projects/spring-boot)
- [Issues] (https://github.com/spring-projects/spring-boot/issues)
- [Milestones] (https://github.com/spring-projects/spring-boot/milestones)
- [Wiki] (https://github.com/spring-projects/spring-boot/wiki)
[spring-projects/spring-security] (https://github.com/spring-projects/spring-security)
- [Issues] (https://github.com/spring-projects/spring-security/issues)
- [Milestones] (https://github.com/spring-projects/spring-security/milestones)
- [Wiki] (https://github.com/spring-projects/spring-security/wiki)
sample
[spring-projects/spring-boot/spring-boot-samples/] (https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples)
Pivotalスタッフの個人アカウントのリポジトリ
個人アカウントのリポジトリに参考になるサンプルアプリケーションが公開されています。
[Dave Syer] (https://github.com/dsyer)
- [dsyer/spring-boot-java-9] (https://github.com/dsyer/spring-boot-java-9)
Java 9 is here, and the ecosystem is adapting. If you want to run Spring Boot apps in Java 9, the good news is it works fine (mostly), so here is how to get started as quickly as possible without stumbling on the newbie errors (like I did).
[Stéphane Nicoll] (https://github.com/snicoll)
- [snicoll-demos/demo-multi-entity-managers] (https://github.com/snicoll-demos/demo-multi-entity-managers)
Demo how to use several entity managers with Spring Boot
JIRA
課題管理にJIRAを利用しているプロジェクトもあります。
[Spring Framework] (https://jira.spring.io/projects/SPR/summary/statistics)
- [Issues] (https://jira.spring.io/projects/SPR/issues/)
[Spring Data JPA] (https://jira.spring.io/projects/DATAJPA/summary/statistics)
[Spring Batch] (https://jira.spring.io/projects/BATCH/summary/statistics)
Youtube
Official Channelがあります。
Webinar(セミナー)やカンファレンスの動画で新しい情報をキャッチアップできます。
SpringDeveloper
最近投稿された人気のある動画をピックアップしました。
- Webinar: Upgrading to Spring Boot 2.0
- https://www.youtube.com/watch?v=G_0gOEw1Llc
- published: 2018/03/13
- Test Driven Development with Spring Boot - Sannidhi Jalukar, Madhura Bhave
- https://www.youtube.com/watch?v=s9vt6UJiHg4
- published: 2017/12/14
- From Zero to Hero with Spring Boot - Brian Clozel
- https://www.youtube.com/watch?v=aA4tfBGY6jY
- published: 2017/12/14
- What's New in Spring Boot 2.0 - Phillip Webb, Madhura Bhave
- https://www.youtube.com/watch?v=TasMZsZxLCA
- published: 2017/12/14
SlideShare
SlideShareにもpivotalアカウントがありSpringに関するスライドが公開されています。
ただ、最近はYoutubeにシフトしているのか情報量は多くありません(動画と同じタイトルのスライドがあり、同じ内容を扱っているのですがテキストが少なく情報が読み取れません)。
[Spring Tips] (https://www.youtube.com/playlist?list=PLgGXSWYM2FpPw8rV0tZoMiJYSCiLhPnOc)
"Spring Tips"というプレイリストに2018年6月現在、約40本のTipsが公開されています。個人的に参考になった動画をいくつかピックアップしました。
- [Spring Tips: Metrics Collection in Spring Boot 2 with Micrometer] (https://www.youtube.com/watch?v=JAdxO1XboJY)
- [Spring Tips: Bootiful Testing] (https://www.youtube.com/watch?v=lTSJCr7xdbM)
- [Spring Tips: Bootiful Kotlin Redux] (https://www.youtube.com/watch?v=P3yI_YhG5pk)
- [Spring Tips: jOOQ] (https://www.youtube.com/watch?v=j5QqHSIEcPE)
stackoverflow
popular
ポピュラーなQAを幾つかピックアップしました。ただ質問日が古いのものが多いので、現在では最新バージョンで解決されていたりより最適な解決法があるかもしれないので注意深く読む必要があります。
- [Spring Boot not serving static content] (https://stackoverflow.com/questions/24661289/spring-boot-not-serving-static-content/25959419)
- asked: 2014/07/09
- WebMvc
- [How to pass JVM options from bootRun] (https://stackoverflow.com/questions/25079244/how-to-pass-jvm-options-from-bootrun)
- asked: 2014/08/01
- Gradle
- [how to log sql statements in spring-boot] (https://stackoverflow.com/questions/30118683/how-to-log-sql-statements-in-spring-boot)
- asked: 2015/05/08
- logging
- [spring boot adding http request interceptors] (https://stackoverflow.com/questions/31082981/spring-boot-adding-http-request-interceptors)
- asked: 2015/06/26
- WebMvc
- [Spring Boot - Loading Initial Data] (https://stackoverflow.com/questions/38040572/spring-boot-loading-initial-data)
- asked: 2016/06/26
- Database
- [Disable all Database related auto configuration in Spring Boot] (https://stackoverflow.com/questions/36387265/disable-all-database-related-auto-configuration-in-spring-boot)
- asked: 2016/04/03
- AutoConfiguration
- [How to exclude *AutoConfiguration classes in Spring Boot JUnit tests?] (https://stackoverflow.com/questions/26698071/how-to-exclude-autoconfiguration-classes-in-spring-boot-junit-tests)
- asked: 2014/11/02
- UnitTest
- [Connection to Db dies after >4<24 in spring-boot jpa hibernate] (https://stackoverflow.com/questions/30451470/connection-to-db-dies-after-424-in-spring-boot-jpa-hibernate)
- asked: 2015/05/26
- Database
- [Difference between @Mock, @MockBean and Mockito.mock()] (https://stackoverflow.com/questions/44200720/difference-between-mock-mockbean-and-mockito-mock)
- asked: 2017/05/26
- UnitTest
- [What is purpose of @ConditionalOnProperty annotation?] (https://stackoverflow.com/questions/26394778/what-is-purpose-of-conditionalonproperty-annotation)
- asked: 2014/10/16
- AutoConfiguration
- [Multiple SQL import files in Spring Boot] (https://stackoverflow.com/questions/24508223/multiple-sql-import-files-in-spring-boot)
- asked: 2014/07/01
- Database
- [Spring-boot default profile for integration tests] (https://stackoverflow.com/questions/39690094/spring-boot-default-profile-for-integration-tests)
- asked: 2016/09/25
- UnitTest
pivotal
pivotalの開発者(springのcommitter)の方(個人の立場かどうかはわかりません)が回答されているものもよく見かけます。
[Phil Webb] (https://stackoverflow.com/users/1526192/phil-webb)
Spring Framework developer and co-creator of the Spring Boot project.
- [Spring Boot + JPA : Column name annotation ignored] (https://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored/25293929)
- asked: 2014/08/13
- [Spring not able to locate JpaRepository] (https://stackoverflow.com/questions/23476427/spring-not-able-to-locate-jparepository/23490247)
- asked: 2014/05/05
- [Looking for resource to help understand how Spring boot works [closed]] (https://stackoverflow.com/questions/23907611/looking-for-resource-to-help-understand-how-spring-boot-works)
- asked: 2014/05/28
[Andy Wilkinson] (https://stackoverflow.com/users/1384297/andy-wilkinson)
Spring Boot committer and Spring REST Docs and Spring IO Platform lead at Pivotal.
- [Override default Spring-Boot application.properties settings in Junit Test] (https://stackoverflow.com/questions/29669393/override-default-spring-boot-application-properties-settings-in-junit-test/29673732)
- asked: 2015/04/16
- [Classpath resource not found when running as jar] (https://stackoverflow.com/questions/25869428/classpath-resource-not-found-when-running-as-jar/25873705)
- asked: 2014/09/16
- [How to customise the Jackson JSON mapper implicitly used by Spring Boot?] (https://stackoverflow.com/questions/28324352/how-to-customise-the-jackson-json-mapper-implicitly-used-by-spring-boot/28324976)
- asked: 2015/02/04
[Stephane Nicoll] (https://stackoverflow.com/users/613628/stephane-nicoll)
Spring Boot and Spring Framework committer
- [Spring Boot JPA - configuring auto reconnect] (https://stackoverflow.com/questions/22684807/spring-boot-jpa-configuring-auto-reconnect)
- asked: 2014/03/27
- [Spring Boot 1.4 @DataJpaTest - Error creating bean with name 'dataSource'] (https://stackoverflow.com/questions/41315386/spring-boot-1-4-datajpatest-error-creating-bean-with-name-datasource/41316559)
- asked: 2016/12/24
- [IntelliJ 15, SpringBoot devtools livereload not working] (https://stackoverflow.com/questions/33869606/intellij-15-springboot-devtools-livereload-not-working/33872306)
- asked: 2015/11/23
[Brian Clozel] (https://stackoverflow.com/users/22982/brian-clozel)
Spring Framework committer
- [Add a Servlet Filter in a Spring Boot application] (https://stackoverflow.com/questions/26151057/add-a-servlet-filter-in-a-spring-boot-application/26157610)
- asked: 2014/10/01
- [Spring 4 vs Jersey for REST web services] (https://stackoverflow.com/questions/26305363/spring-4-vs-jersey-for-rest-web-services/26317525)
- asked: 2014/10/10
[Oliver Gierke] (https://stackoverflow.com/users/18122/oliver-gierke)
Spring Data Project Lead @ Pivotal
- [What is difference between CrudRepository and JpaRepository interfaces in Spring Data JPA?] (https://stackoverflow.com/questions/14014086/what-is-difference-between-crudrepository-and-jparepository-interfaces-in-spring/20784007)
- asked: 2012/12/23
- [Understanding the Spring Data JPA @NoRepositoryBean interface] (https://stackoverflow.com/questions/11576831/understanding-the-spring-data-jpa-norepositorybean-interface/11585811)
- asked: 2012/07/20
- [How to test Spring Data repositories?] (https://stackoverflow.com/questions/23435937/how-to-test-spring-data-repositories/23442457)
- asked: 2014/05/02
[Dave Syer] (https://stackoverflow.com/users/1259109/dave-syer)
project founder for Spring Batch, lead on Spring Cloud, Spring Boot, Spring OAuth, contributor to Spring Integration, Spring AMQP
- [Why does my Spring Boot App always shutdown immediately after starting?] (https://stackoverflow.com/questions/22380119/why-does-my-spring-boot-app-always-shutdown-immediately-after-starting/22409655)
- asked: 2014/03/13
- [Spring Boot - parent pom when you already have a parent pom] (https://stackoverflow.com/questions/21317006/spring-boot-parent-pom-when-you-already-have-a-parent-pom/21318359)
- asked: 2014/01/23
- [Java Spring Boot: How to map my app root (“/”) to index.html?] (https://stackoverflow.com/questions/27381781/java-spring-boot-how-to-map-my-app-root-to-index-html/27383522)
- asked: 2014/12/09
Spring Data Jpaに関するキャッチアップ
- [Spring Data JPA] (https://projects.spring.io/spring-data-jpa/)
JPAの仕様について
- [JSR 338: Java(TM) Persistence 2.2] (https://jcp.org/en/jsr/detail?id=338)
- [JSR-000338 Java(TM) Persistence 2.1 Final Release for Evaluation] (http://download.oracle.com/otndocs/jcp/persistence-2_1-fr-eval-spec/index.html)
- [JSR-000338 Java(TM) Persistence 2.2 Specification Maintenance Release] (http://download.oracle.com/otndocs/jcp/persistence-2_2-mrel-spec/index.html)
javax.persistence (Java(TM) EE 7 Specification APIs)
https://docs.oracle.com/javaee/7/api/javax/persistence/package-summary.html
Spring FrameworkのHibernate対応状況
2018年6月現在の状況です。
Hibernate ORM 5.3のサポートはSpring Framework 5.1の予定。
[[SPR-16303] Support for Hibernate ORM 5.3] (https://jira.spring.io/browse/SPR-16303)
Hibernate ORM 5.2のサポートはSpring Framework 4.3より。
[[SPR-14327] Support for Hibernate ORM 5.2] (https://jira.spring.io/browse/SPR-14327)
HibernateのJPA対応状況
2018年6月現在の状況です。
[Releases - Hibernate ORM] (http://hibernate.org/orm/releases/)
Compatibility matrix
|Hibernate ORM|5.3|5.2|5.1|5.0|
|:----|:----|:----|:----|:----|
|Java|8+|8+|6+|6+|
|JPA|2.2|2.1|2.1|2.1|
Hibernateに関する情報
[VLAD MIHALCEA - High-Performance Java Persistence and Hibernate] (https://vladmihalcea.com/)
このサイトはHibernateの開発者のVlad Mihalceaさんという方のブログです。HibernateやRDBMSに関する有益な記事がポストされています。
- [The best way to map a @OneToMany relationship with JPA and Hibernate] (https://vladmihalcea.com/the-best-way-to-map-a-onetomany-association-with-jpa-and-hibernate/)
- [How to detect the Hibernate N+1 query problem during testing] (https://vladmihalcea.com/how-to-detect-the-n-plus-one-query-problem-during-testing/)
GitHubのリポジトリ
- [vladmihalcea - GitHub] (https://github.com/vladmihalcea)
Spring Data JDBCに関するキャッチアップ
- [Spring Data JDBC] (https://projects.spring.io/spring-data-jdbc/)
JDBCの仕様について
Version | JSR | Java |
---|---|---|
4.0 | JSR 114 and JSR 221 | included in Java SE 6 |
4.1 | maintenance release 1 of JSR 221 | included in Java SE 7 |
4.2 | maintenance release 2 of JSR 221 | included in Java SE 8 |
4.3 | maintenance release 3 of JSR 221 | included in Java SE 9 |
- [JSR-000221 JDBC Evaluation 4.0 Final Release] (http://download.oracle.com/otndocs/jcp/jdbc-4.0-fr-eval-oth-JSpec/)
- [JSR-000221 JBDC(TM) API Specification 4.1 Maintenance Release] (http://download.oracle.com/otndocs/jcp/jdbc-4_1-mrel-spec/index.html)
- [JSR-000221 JDBC(TM) API Specification 4.2 Maintenance Release 2] (http://download.oracle.com/otndocs/jcp/jdbc-4_2-mrel2-spec/index.html)
- [JSR-000221 JDBC(TM) API 4.3 Maintenance Release 3] (http://download.oracle.com/otndocs/jcp/jdbc-4_3-mrel3-spec/index.html)
JDBCに関する情報
[Understanding JDBC Internals & Timeout Configuration] (https://www.cubrid.org/blog/understanding-jdbc-internals-and-timeout-configuration)
この記事は[CUBRID.org] (https://www.cubrid.org/)というサイトのブログにポストされました。
タイトルの通り、JDBC Driverのタイムアウトやトランザクションの仕組み付いて詳しく解説されています。