Skip to content

Commit d601d3a

Browse files
Migrated to Spring Boot 4.0.1 (#22)
* Migrated to Spring Boot 4.0.1 * Updated GitHub actions to the latest versions * Bumped UI library version to the latest possible for less compiler * Reverted formatting
1 parent ff7668c commit d601d3a

13 files changed

Lines changed: 68 additions & 57 deletions

File tree

.github/workflows/maven.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ jobs:
1212
runs-on: ubuntu-latest
1313

1414
steps:
15-
- uses: actions/checkout@v2
15+
- uses: actions/checkout@v6.0.1
1616
- name: Set up JDK 17
17-
uses: actions/setup-java@v1
17+
uses: actions/setup-java@v5.1.0
1818
with:
1919
java-version: 17
20+
distribution: 'liberica'
21+
cache: maven
2022
- name: Build with Maven
2123
run: ./mvnw -B package --file pom.xml

pom.xml

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>org.springframework.boot</groupId>
1212
<artifactId>spring-boot-starter-parent</artifactId>
13-
<version>3.4.4</version>
13+
<version>4.0.1</version>
1414
</parent>
1515
<name>petclinic</name>
1616

@@ -22,10 +22,12 @@
2222
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
2323

2424
<!-- Web dependencies -->
25-
<webjars-bootstrap.version>3.3.6</webjars-bootstrap.version>
26-
<webjars-jquery-ui.version>1.11.4</webjars-jquery-ui.version>
27-
<webjars-jquery.version>2.2.4</webjars-jquery.version>
28-
<wro4j.version>1.8.0</wro4j.version>
25+
<webjars-locator.version>1.1.2</webjars-locator.version>
26+
<webjars-bootstrap.version>3.4.1</webjars-bootstrap.version>
27+
<webjars-font-awesome.version>4.7.0</webjars-font-awesome.version>
28+
<webjars-jquery-ui.version>1.13.2</webjars-jquery-ui.version>
29+
<webjars-jquery.version>3.5.0</webjars-jquery.version>
30+
<wro4j.version>2.1.1</wro4j.version>
2931

3032
<jacoco.version>0.8.2</jacoco.version>
3133
</properties>
@@ -50,22 +52,12 @@
5052
</dependency>
5153
<dependency>
5254
<groupId>org.springframework.boot</groupId>
53-
<artifactId>spring-boot-starter-web</artifactId>
55+
<artifactId>spring-boot-starter-webmvc</artifactId>
5456
</dependency>
5557
<dependency>
5658
<groupId>org.springframework.boot</groupId>
5759
<artifactId>spring-boot-starter-thymeleaf</artifactId>
5860
</dependency>
59-
<dependency>
60-
<groupId>org.springframework.boot</groupId>
61-
<artifactId>spring-boot-starter-test</artifactId>
62-
<scope>test</scope>
63-
</dependency>
64-
<dependency>
65-
<groupId>org.testcontainers</groupId>
66-
<artifactId>mysql</artifactId>
67-
<scope>test</scope>
68-
</dependency>
6961

7062
<!-- Databases -->
7163
<dependency>
@@ -74,8 +66,8 @@
7466
<scope>runtime</scope>
7567
</dependency>
7668
<dependency>
77-
<groupId>org.flywaydb</groupId>
78-
<artifactId>flyway-core</artifactId>
69+
<groupId>org.springframework.boot</groupId>
70+
<artifactId>spring-boot-starter-flyway</artifactId>
7971
</dependency>
8072
<dependency>
8173
<groupId>org.flywaydb</groupId>
@@ -111,6 +103,32 @@
111103
<artifactId>spring-boot-devtools</artifactId>
112104
<optional>true</optional>
113105
</dependency>
106+
107+
<dependency>
108+
<groupId>org.springframework.boot</groupId>
109+
<artifactId>spring-boot-starter-webmvc-test</artifactId>
110+
<scope>test</scope>
111+
</dependency>
112+
<dependency>
113+
<groupId>org.springframework.boot</groupId>
114+
<artifactId>spring-boot-starter-data-jdbc-test</artifactId>
115+
</dependency>
116+
<dependency>
117+
<groupId>org.springframework.boot</groupId>
118+
<artifactId>spring-boot-testcontainers</artifactId>
119+
<scope>test</scope>
120+
</dependency>
121+
<dependency>
122+
<groupId>org.testcontainers</groupId>
123+
<artifactId>testcontainers-junit-jupiter</artifactId>
124+
<scope>test</scope>
125+
</dependency>
126+
<dependency>
127+
<groupId>org.testcontainers</groupId>
128+
<artifactId>testcontainers-mysql</artifactId>
129+
<scope>test</scope>
130+
</dependency>
131+
114132
</dependencies>
115133

116134
<build>

src/main/java/org/springframework/samples/petclinic/owner/PetTypeFormatter.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@
1616
package org.springframework.samples.petclinic.owner;
1717

1818
import java.text.ParseException;
19-
import java.util.Collection;
2019
import java.util.Locale;
21-
import java.util.stream.Collectors;
22-
2320
import org.springframework.format.Formatter;
2421
import org.springframework.stereotype.Component;
2522

src/main/java/org/springframework/samples/petclinic/vet/VetRepository.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.samples.petclinic.vet;
1717

18-
import java.util.Collection;
1918
import java.util.List;
2019
import org.springframework.cache.annotation.Cacheable;
2120
import org.springframework.dao.DataAccessException;

src/main/less/petclinic.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* See the License for the specific language governing permissions and
1212
* limitations under the License.
1313
*/
14-
@icon-font-path: "../../webjars/bootstrap/3.3.6/fonts/";
14+
@icon-font-path: "../../webjars/bootstrap/3.4.1/fonts/";
1515

1616
@spring-green: #6db33f;
1717
@spring-dark-green: #5fa134;

src/main/resources/templates/fragments/layout.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@
8585
</div>
8686
</div>
8787

88-
<script th:src="@{/webjars/jquery/2.2.4/jquery.min.js}"></script>
89-
<script th:src="@{/webjars/jquery-ui/1.11.4/jquery-ui.min.js}"></script>
90-
<script th:src="@{/webjars/bootstrap/3.3.6/js/bootstrap.min.js}"></script>
88+
<script th:src="@{/webjars/jquery/3.5.0/jquery.min.js}"></script>
89+
<script th:src="@{/webjars/jquery-ui/1.13.2/jquery-ui.min.js}"></script>
90+
<script th:src="@{/webjars/bootstrap/3.4.1/js/bootstrap.min.js}"></script>
9191

9292
</body>
9393

src/main/wro/wro.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<groups xmlns="http://www.isdc.ro/wro">
22
<group name="petclinic">
3-
<css>classpath:META-INF/resources/webjars/bootstrap/3.3.6/less/bootstrap.less</css>
3+
<css>classpath:META-INF/resources/webjars/bootstrap/3.4.1/less/bootstrap.less</css>
44
<css>/petclinic.less</css>
55
</group>
66
</groups>

src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTests.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,12 @@
2525
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
2626

2727
import org.assertj.core.util.Lists;
28-
import org.junit.jupiter.api.BeforeAll;
2928
import org.junit.jupiter.api.BeforeEach;
3029
import org.junit.jupiter.api.Test;
3130
import org.springframework.beans.factory.annotation.Autowired;
32-
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
33-
import org.springframework.boot.test.mock.mockito.MockBean;
34-
import org.springframework.samples.petclinic.owner.Owner;
35-
import org.springframework.samples.petclinic.owner.OwnerController;
36-
import org.springframework.samples.petclinic.owner.OwnerRepository;
31+
import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest;
3732
import org.springframework.samples.petclinic.visit.VisitRepository;
33+
import org.springframework.test.context.bean.override.mockito.MockitoBean;
3834
import org.springframework.test.web.servlet.MockMvc;
3935

4036
/**
@@ -50,13 +46,13 @@ public class OwnerControllerTests {
5046
@Autowired
5147
private MockMvc mockMvc;
5248

53-
@MockBean
49+
@MockitoBean
5450
private OwnerRepository owners;
5551

56-
@MockBean
52+
@MockitoBean
5753
private PetRepository pets;
5854

59-
@MockBean
55+
@MockitoBean
6056
private VisitRepository visits;
6157

6258
private Owner george;

src/test/java/org/springframework/samples/petclinic/owner/PetControllerTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
import org.junit.jupiter.api.BeforeEach;
2525
import org.junit.jupiter.api.Test;
2626
import org.springframework.beans.factory.annotation.Autowired;
27-
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
28-
import org.springframework.boot.test.mock.mockito.MockBean;
27+
import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest;
2928
import org.springframework.context.annotation.ComponentScan;
3029
import org.springframework.context.annotation.FilterType;
30+
import org.springframework.test.context.bean.override.mockito.MockitoBean;
3131
import org.springframework.test.web.servlet.MockMvc;
3232

3333
/**
@@ -44,10 +44,10 @@ public class PetControllerTests {
4444
@Autowired
4545
private MockMvc mockMvc;
4646

47-
@MockBean
47+
@MockitoBean
4848
private PetRepository pets;
4949

50-
@MockBean
50+
@MockitoBean
5151
private OwnerRepository owners;
5252

5353
@BeforeEach

src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
import org.junit.jupiter.api.BeforeEach;
2626
import org.junit.jupiter.api.Test;
2727
import org.springframework.beans.factory.annotation.Autowired;
28-
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
29-
import org.springframework.boot.test.mock.mockito.MockBean;
28+
import org.springframework.boot.webmvc.test.autoconfigure.WebMvcTest;
3029
import org.springframework.samples.petclinic.visit.VisitRepository;
30+
import org.springframework.test.context.bean.override.mockito.MockitoBean;
3131
import org.springframework.test.web.servlet.MockMvc;
3232

3333
/**
@@ -43,13 +43,13 @@ public class VisitControllerTests {
4343
@Autowired
4444
private MockMvc mockMvc;
4545

46-
@MockBean
46+
@MockitoBean
4747
private VisitRepository visits;
4848

49-
@MockBean
49+
@MockitoBean
5050
private PetRepository pets;
5151

52-
@MockBean
52+
@MockitoBean
5353
private OwnerRepository owners;
5454

5555
@BeforeEach

0 commit comments

Comments
 (0)