From 7ad9276235264669d1aa84a48c1ee19b365189ac Mon Sep 17 00:00:00 2001 From: Chandra Guntur Date: Wed, 10 May 2023 13:55:59 -0400 Subject: [PATCH] Spring Framework Kata update to Spring 6.0.8 and Java 17. Associated changes to dependencies and imports. --- .github/workflows/maven.yml | 2 +- spring-framework/README.adoc | 4 +- .../ch01_spring-inversion-of-control/pom.xml | 13 +--- .../ch02_spring-dependency-injection/pom.xml | 13 +--- spring-framework/ch03_spring-testing/pom.xml | 14 +--- .../ch04_spring-persistence/pom.xml | 13 +--- .../ch05_spring-hibernate/pom.xml | 26 +++---- .../spring/framework/model/ColoredShape.java | 12 ++-- spring-framework/ch06_spring-jpa/pom.xml | 28 +++----- .../framework/config/HibernateJPAConfig.java | 2 +- .../framework/dao/ColoredShapeDaoImpl.java | 4 +- .../spring/framework/model/ColoredShape.java | 12 ++-- spring-framework/ch07_spring-data-jpa/pom.xml | 32 ++++----- .../framework/config/HibernateJPAConfig.java | 2 +- .../spring/framework/model/ColoredShape.java | 12 ++-- .../service/ColoredShapeServiceImpl.java | 6 +- spring-framework/ch08_spring-rest/pom.xml | 36 ++-------- .../framework/config/HibernateJPAConfig.java | 2 +- .../spring/framework/model/ColoredShape.java | 12 ++-- .../service/ColoredShapeServiceImpl.java | 6 +- spring-framework/pom.xml | 67 ++++++++++++------- 21 files changed, 127 insertions(+), 191 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 5ca4e19..d4e9d71 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -15,7 +15,7 @@ jobs: matrix: # os: [macos-latest, ubuntu-latest, windows-latest] os: [ubuntu-latest] - java-version: [11, 16, 17] + java-version: [17] runs-on: ${{ matrix.os }} diff --git a/spring-framework/README.adoc b/spring-framework/README.adoc index ea2750c..14b0f87 100644 --- a/spring-framework/README.adoc +++ b/spring-framework/README.adoc @@ -37,9 +37,9 @@ The project can be loaded into an IDE as a single structure. === Project pre-requisites -1. JDK 11 +1. JDK 17 2. A modern IDE (IntelliJ IDEA or Eclipse or Netbeans) -3. Apache Maven v3.6.3 or above +3. Apache Maven v3.8.6 or above === Project tree diff --git a/spring-framework/ch01_spring-inversion-of-control/pom.xml b/spring-framework/ch01_spring-inversion-of-control/pom.xml index 74f2b13..3021773 100644 --- a/spring-framework/ch01_spring-inversion-of-control/pom.xml +++ b/spring-framework/ch01_spring-inversion-of-control/pom.xml @@ -24,10 +24,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch01_spring-inversion-of-control - 1.0.0 jar @@ -35,16 +34,6 @@ Spring Framework - Inversion of Control Understanding Spring Inversion of Control - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - diff --git a/spring-framework/ch02_spring-dependency-injection/pom.xml b/spring-framework/ch02_spring-dependency-injection/pom.xml index f84a8e9..7263d95 100644 --- a/spring-framework/ch02_spring-dependency-injection/pom.xml +++ b/spring-framework/ch02_spring-dependency-injection/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch02_spring-dependency-injection - 1.0.0 jar @@ -34,16 +33,6 @@ Spring Framework - Dependency Injection Understanding Spring Dependency Injection - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - diff --git a/spring-framework/ch03_spring-testing/pom.xml b/spring-framework/ch03_spring-testing/pom.xml index 1f38ab6..09f6fba 100644 --- a/spring-framework/ch03_spring-testing/pom.xml +++ b/spring-framework/ch03_spring-testing/pom.xml @@ -23,10 +23,10 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch03_spring-testing - 1.0.0 + 2.0.0 jar @@ -34,16 +34,6 @@ Spring Framework - Testing Testing with Spring - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - diff --git a/spring-framework/ch04_spring-persistence/pom.xml b/spring-framework/ch04_spring-persistence/pom.xml index 6c11196..82b1128 100644 --- a/spring-framework/ch04_spring-persistence/pom.xml +++ b/spring-framework/ch04_spring-persistence/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch04_spring-persistence - 1.0.0 jar @@ -34,16 +33,6 @@ Spring Framework - Persistence (JDBC) Database Persistence with Spring - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - diff --git a/spring-framework/ch05_spring-hibernate/pom.xml b/spring-framework/ch05_spring-hibernate/pom.xml index 61b4ece..7c824da 100644 --- a/spring-framework/ch05_spring-hibernate/pom.xml +++ b/spring-framework/ch05_spring-hibernate/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch05_spring-hibernate - 1.0.0 jar @@ -34,16 +33,6 @@ Spring Framework - Persistence (Hibernate) Database Persistence with Spring and Hibernate - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - @@ -80,6 +69,11 @@ + + jakarta.persistence + jakarta.persistence-api + + org.springframework spring-jdbc @@ -91,13 +85,13 @@ - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb-api.version} - org.hibernate + org.hibernate.orm hibernate-core ${hibernate.version} diff --git a/spring-framework/ch05_spring-hibernate/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java b/spring-framework/ch05_spring-hibernate/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java index 9d64f92..8d432ce 100644 --- a/spring-framework/ch05_spring-hibernate/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java +++ b/spring-framework/ch05_spring-hibernate/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java @@ -17,12 +17,12 @@ package bnymellon.training.spring.framework.model; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.io.Serializable; @Entity diff --git a/spring-framework/ch06_spring-jpa/pom.xml b/spring-framework/ch06_spring-jpa/pom.xml index 14c8695..4370589 100644 --- a/spring-framework/ch06_spring-jpa/pom.xml +++ b/spring-framework/ch06_spring-jpa/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch06_spring-jpa - 1.0.0 jar @@ -34,16 +33,6 @@ Spring Framework - Persistence (JPA) Database Persistence with Spring JPA - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - @@ -91,13 +80,18 @@ - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb-api.version} - org.hibernate + jakarta.persistence + jakarta.persistence-api + + + + org.hibernate.orm hibernate-core ${hibernate.version} @@ -105,7 +99,7 @@ org.hibernate hibernate-entitymanager - ${hibernate.version} + 5.6.15.Final diff --git a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java index 4ce5866..5850a3f 100644 --- a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java +++ b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java @@ -16,7 +16,7 @@ package bnymellon.training.spring.framework.config; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import java.util.Properties; diff --git a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/dao/ColoredShapeDaoImpl.java b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/dao/ColoredShapeDaoImpl.java index 94c3a4f..346a394 100644 --- a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/dao/ColoredShapeDaoImpl.java +++ b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/dao/ColoredShapeDaoImpl.java @@ -16,8 +16,8 @@ package bnymellon.training.spring.framework.dao; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Propagation; diff --git a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java index 3f5787e..5e4b466 100644 --- a/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java +++ b/spring-framework/ch06_spring-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java @@ -16,12 +16,12 @@ package bnymellon.training.spring.framework.model; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.io.Serializable; @Entity diff --git a/spring-framework/ch07_spring-data-jpa/pom.xml b/spring-framework/ch07_spring-data-jpa/pom.xml index f0933a0..745849d 100644 --- a/spring-framework/ch07_spring-data-jpa/pom.xml +++ b/spring-framework/ch07_spring-data-jpa/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch07_spring-data-jpa - 1.0.0 jar @@ -34,18 +33,6 @@ Spring Framework - Persistence (Spring Data JPA) Database Persistence with Spring Data JPA - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - 1.10.6.RELEASE - - @@ -79,7 +66,7 @@ org.springframework.data spring-data-jpa - ${spring-data-jpa.version} + ${spring-data.jpa} @@ -93,13 +80,18 @@ - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb-api.version} - org.hibernate + jakarta.persistence + jakarta.persistence-api + + + + org.hibernate.orm hibernate-core ${hibernate.version} @@ -107,7 +99,7 @@ org.hibernate hibernate-entitymanager - ${hibernate.version} + 5.6.15.Final diff --git a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java index f194d91..2bda2a1 100644 --- a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java +++ b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java @@ -16,7 +16,7 @@ package bnymellon.training.spring.framework.config; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import java.util.Properties; diff --git a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java index 1e95216..6d1a16b 100644 --- a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java +++ b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java @@ -17,12 +17,12 @@ package bnymellon.training.spring.framework.model; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.io.Serializable; @Entity diff --git a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java index 2f3945e..5aa4f38 100644 --- a/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java +++ b/spring-framework/ch07_spring-data-jpa/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java @@ -16,6 +16,8 @@ package bnymellon.training.spring.framework.service; +import java.util.Optional; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,7 +35,9 @@ public class ColoredShapeServiceImpl implements ColoredShapeService { @Override public ColoredShape getColoredShape(final Long id) { - return coloredShapeDao.findOne(id); + Optional optionalColoredShape = coloredShapeDao.findById(id); + + return optionalColoredShape.orElse(null); } @Override diff --git a/spring-framework/ch08_spring-rest/pom.xml b/spring-framework/ch08_spring-rest/pom.xml index 1b5843d..04d2e8a 100644 --- a/spring-framework/ch08_spring-rest/pom.xml +++ b/spring-framework/ch08_spring-rest/pom.xml @@ -23,10 +23,9 @@ bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 ch08_spring-rest - 1.0.0 jar @@ -34,29 +33,6 @@ Spring Framework - RESTful API RESTful API with Spring - - UTF-8 - UTF-8 - - - 11 - 11 - 11 - - 2.4.0 - 2.2.11 - - 2.6.0 - - 1.4.196 - - 5.2.10.Final - - 1.10.6.RELEASE - 1.1.11 - 1.7.24 - - @@ -90,7 +66,7 @@ org.springframework.data spring-data-jpa - ${spring-data-jpa.version} + ${spring-data.jpa} @@ -120,8 +96,8 @@ ${jackson.version} - javax.xml.bind - jaxb-api + jakarta.xml.bind + jakarta.xml.bind-api ${jaxb-api.version} runtime @@ -145,7 +121,7 @@ - org.hibernate + org.hibernate.orm hibernate-core ${hibernate.version} @@ -153,7 +129,7 @@ org.hibernate hibernate-entitymanager - ${hibernate.version} + 5.6.15.Final diff --git a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java index fd1b921..288f81d 100644 --- a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java +++ b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/config/HibernateJPAConfig.java @@ -16,7 +16,7 @@ package bnymellon.training.spring.framework.config; -import javax.persistence.EntityManagerFactory; +import jakarta.persistence.EntityManagerFactory; import javax.sql.DataSource; import java.util.Properties; diff --git a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java index dde3220..7b39f8c 100644 --- a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java +++ b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/model/ColoredShape.java @@ -17,12 +17,12 @@ package bnymellon.training.spring.framework.model; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import java.io.Serializable; @Entity diff --git a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java index 39e582e..ce651bd 100644 --- a/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java +++ b/spring-framework/ch08_spring-rest/src/main/java/bnymellon/training/spring/framework/service/ColoredShapeServiceImpl.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.List; +import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,7 +36,10 @@ public class ColoredShapeServiceImpl implements ColoredShapeService { @Override public ColoredShape getColoredShape(final Long id) { - return coloredShapeDao.findOne(id); + + Optional optionalColoredShape = coloredShapeDao.findById(id); + + return optionalColoredShape.orElse(null); } @Override diff --git a/spring-framework/pom.xml b/spring-framework/pom.xml index 9f51458..6f89a1f 100644 --- a/spring-framework/pom.xml +++ b/spring-framework/pom.xml @@ -15,14 +15,14 @@ --> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 bnymellon.training.spring.framework spring-framework - 1.0.0 + 2.0.0 pom @@ -33,19 +33,26 @@ UTF-8 UTF-8 - - 11 - 11 - 11 + + 17 + 17 + 17 - 5.3.3 - 5.7.0 - 1.1.11 + 6.0.8 + 3.0.5 - 1.4.200 - 5.2.10.Final - 1.7.24 + 5.9.3 + 1.4.6 + + 2.1.214 + 6.1.7.Final + 2.0.5 + + 2.4.0 + 4.0.0 + + 2.6.0 @@ -64,26 +71,34 @@ org.junit.jupiter junit-jupiter - 5.7.0 + ${junit5.version} test + + + jakarta.persistence + jakarta.persistence-api + 3.1.0 + - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + \ No newline at end of file