Skip to content

Commit 198ad00

Browse files
committed
update to Spring Boot 3
1 parent 4f08996 commit 198ad00

5 files changed

Lines changed: 124 additions & 56 deletions

File tree

README.md

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,93 @@
33
For more detail, please visit:
44
> [@RestControllerAdvice example in Spring Boot](https://bezkoder.com/spring-boot-restcontrolleradvice/)
55
6-
More Practice:
76
> [Spring Boot @ControllerAdvice & @ExceptionHandler example](https://bezkoder.com/spring-boot-controlleradvice-exceptionhandler/)
87
8+
More Practice:
99
> [Spring Boot JPA - Building Rest CRUD API example](https://bezkoder.com/spring-boot-jpa-crud-rest-api/)
1010
11+
> [Spring Boot Validate Request Body](https://www.bezkoder.com/spring-boot-validate-request-body/)
12+
1113
> [Spring Boot Pagination & Filter example | Spring JPA, Pageable](https://bezkoder.com/spring-boot-pagination-filter-jpa-pageable/)
1214
1315
> [Spring Data JPA Sort/Order by multiple Columns | Spring Boot](https://bezkoder.com/spring-data-sort-multiple-columns/)
1416
15-
> [Spring Boot Repository Unit Test with @DataJpaTest](https://bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)
17+
> [Spring Boot Repository Unit Test with @DataJpaTest](https://www.bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)
18+
19+
> [Spring Boot Rest Controller Unit Test with @WebMvcTest](https://www.bezkoder.com/spring-boot-webmvctest/)
20+
21+
> Cache the result: [Spring Boot Redis Cache example](https://www.bezkoder.com/spring-boot-redis-cache-example/)
22+
23+
> Documentation: [Spring Boot with Swagger 3 example](https://www.bezkoder.com/spring-boot-swagger-3/)
24+
25+
> Reactive Rest API: [Spring Boot WebFlux example](https://www.bezkoder.com/spring-boot-webflux-rest-api/)
26+
27+
Associations:
28+
> [Spring Boot One To One example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-one-to-one/)
29+
30+
> [Spring Boot One To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-one-to-many/)
1631
32+
> [Spring Boot Many To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-many-to-many/)
33+
34+
Security:
35+
> [Spring Boot + Spring Security JWT Authentication & Authorization](https://www.bezkoder.com/spring-boot-jwt-authentication/)
36+
37+
Deployment:
1738
> [Deploy Spring Boot App on AWS – Elastic Beanstalk](https://bezkoder.com/deploy-spring-boot-aws-eb/)
1839
40+
> [Docker Compose Spring Boot and MySQL example](https://www.bezkoder.com/docker-compose-spring-boot-mysql/)
41+
1942
Fullstack:
20-
> [Vue.js + Spring Boot + MySQL/PostgreSQL example](https://bezkoder.com/spring-boot-vue-js-crud-example/)
43+
> [Vue.js + Spring Boot + MySQL example](https://bezkoder.com/spring-boot-vue-js-mysql/)
44+
45+
> [Vue.js + Spring Boot + PostgreSQL example](https://bezkoder.com/spring-boot-vue-js-postgresql/)
46+
47+
> [Angular 10 + Spring Boot + MySQL example](https://www.bezkoder.com/angular-10-spring-boot-crud/)
48+
49+
> [Angular 11 + Spring Boot + MySQL example](https://www.bezkoder.com/angular-11-spring-boot-crud/)
50+
51+
> [Angular 12 + Spring Boot + MySQL example](https://bezkoder.com/angular-12-spring-boot-mysql/)
52+
53+
> [Angular 13 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-13-mysql/)
54+
55+
> [Angular 14 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-14-mysql/)
56+
57+
> [Angular 15 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-15-mysql/)
58+
59+
> [Angular 16 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-16-mysql/)
60+
61+
> [Angular 10 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/angular-10-spring-boot-postgresql/)
62+
63+
> [Angular 11 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/angular-11-spring-boot-postgresql/)
64+
65+
> [Angular 12 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-12-spring-boot-postgresql/)
66+
67+
> [Angular 13 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-13-postgresql/)
68+
69+
> [Angular 14 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-14-postgresql/)
70+
71+
> [Angular 15 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-15-postgresql/)
72+
73+
> [Angular 16 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-16-postgresql/)
74+
75+
> [Angular 13 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-13-crud/)
76+
77+
> [Angular 14 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-14-crud/)
78+
79+
> [Angular 15 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-15-crud/)
80+
81+
> [Angular 16 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-16-crud/)
82+
83+
> [React + Spring Boot + MySQL example](https://www.bezkoder.com/react-spring-boot-crud/)
84+
85+
> [React + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-react-postgresql/)
86+
87+
Run both Back-end & Front-end in one place:
88+
> [Integrate Angular with Spring Boot Rest API](https://www.bezkoder.com/integrate-angular-spring-boot/)
2189
22-
> [Angular + Spring Boot + MySQL/PostgreSQL example](https://bezkoder.com/angular-10-spring-boot-crud/)
90+
> [Integrate React.js with Spring Boot Rest API](https://www.bezkoder.com/integrate-reactjs-spring-boot/)
2391
24-
> [React + Spring Boot + MySQL/PostgreSQL example](https://bezkoder.com/react-spring-boot-crud/)
92+
> [Integrate Vue.js with Spring Boot Rest API](https://www.bezkoder.com/integrate-vue-spring-boot/)
2593
2694
## Run Spring Boot application
2795
```

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>2.3.2.RELEASE</version>
9+
<version>3.1.0</version>
1010
<relativePath /> <!-- lookup parent from repository -->
1111
</parent>
1212
<groupId>com.bezkoder</groupId>
@@ -16,7 +16,7 @@
1616
<description>Spring Boot Exception Handling example with @ExceptionHandler, @ResponseStatus, @ControllerAdvice</description>
1717

1818
<properties>
19-
<java.version>1.8</java.version>
19+
<java.version>17</java.version>
2020
</properties>
2121

2222
<dependencies>
@@ -31,8 +31,8 @@
3131
</dependency>
3232

3333
<dependency>
34-
<groupId>mysql</groupId>
35-
<artifactId>mysql-connector-java</artifactId>
34+
<groupId>com.mysql</groupId>
35+
<artifactId>mysql-connector-j</artifactId>
3636
<scope>runtime</scope>
3737
</dependency>
3838

src/main/java/com/bezkoder/spring/rest/exhandling/controller/TutorialController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,21 @@ public ResponseEntity<Tutorial> updateTutorial(@PathVariable("id") long id, @Req
6767
_tutorial.setTitle(tutorial.getTitle());
6868
_tutorial.setDescription(tutorial.getDescription());
6969
_tutorial.setPublished(tutorial.isPublished());
70-
70+
7171
return new ResponseEntity<>(tutorialRepository.save(_tutorial), HttpStatus.OK);
7272
}
7373

7474
@DeleteMapping("/tutorials/{id}")
7575
public ResponseEntity<HttpStatus> deleteTutorial(@PathVariable("id") long id) {
7676
tutorialRepository.deleteById(id);
77-
77+
7878
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
7979
}
8080

8181
@DeleteMapping("/tutorials")
8282
public ResponseEntity<HttpStatus> deleteAllTutorials() {
8383
tutorialRepository.deleteAll();
84-
84+
8585
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
8686
}
8787

@@ -92,7 +92,7 @@ public ResponseEntity<List<Tutorial>> findByPublished() {
9292
if (tutorials.isEmpty()) {
9393
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
9494
}
95-
95+
9696
return new ResponseEntity<>(tutorials, HttpStatus.OK);
9797
}
9898

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
11
package com.bezkoder.spring.rest.exhandling.model;
22

3-
import javax.persistence.*;
3+
import jakarta.persistence.*;
44

55
@Entity
66
@Table(name = "tutorials")
77
public class Tutorial {
88

9-
@Id
10-
@GeneratedValue(strategy = GenerationType.AUTO)
11-
private long id;
9+
@Id
10+
@GeneratedValue(strategy = GenerationType.AUTO)
11+
private long id;
1212

13-
@Column(name = "title")
14-
private String title;
13+
@Column(name = "title")
14+
private String title;
1515

16-
@Column(name = "description")
17-
private String description;
16+
@Column(name = "description")
17+
private String description;
1818

19-
@Column(name = "published")
20-
private boolean published;
19+
@Column(name = "published")
20+
private boolean published;
2121

22-
public Tutorial() {
22+
public Tutorial() {
2323

24-
}
24+
}
2525

26-
public Tutorial(String title, String description, boolean published) {
27-
this.title = title;
28-
this.description = description;
29-
this.published = published;
30-
}
26+
public Tutorial(String title, String description, boolean published) {
27+
this.title = title;
28+
this.description = description;
29+
this.published = published;
30+
}
3131

32-
public long getId() {
33-
return id;
34-
}
32+
public long getId() {
33+
return id;
34+
}
3535

36-
public String getTitle() {
37-
return title;
38-
}
36+
public String getTitle() {
37+
return title;
38+
}
3939

40-
public void setTitle(String title) {
41-
this.title = title;
42-
}
40+
public void setTitle(String title) {
41+
this.title = title;
42+
}
4343

44-
public String getDescription() {
45-
return description;
46-
}
44+
public String getDescription() {
45+
return description;
46+
}
4747

48-
public void setDescription(String description) {
49-
this.description = description;
50-
}
48+
public void setDescription(String description) {
49+
this.description = description;
50+
}
5151

52-
public boolean isPublished() {
53-
return published;
54-
}
52+
public boolean isPublished() {
53+
return published;
54+
}
5555

56-
public void setPublished(boolean isPublished) {
57-
this.published = isPublished;
58-
}
56+
public void setPublished(boolean isPublished) {
57+
this.published = isPublished;
58+
}
5959

60-
@Override
61-
public String toString() {
62-
return "Tutorial [id=" + id + ", title=" + title + ", desc=" + description + ", published=" + published + "]";
63-
}
60+
@Override
61+
public String toString() {
62+
return "Tutorial [id=" + id + ", title=" + title + ", desc=" + description + ", published=" + published + "]";
63+
}
6464

6565
}

src/main/resources/application.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ spring.datasource.url= jdbc:mysql://localhost:3306/testdb?useSSL=false
22
spring.datasource.username= root
33
spring.datasource.password= 123456
44

5-
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
5+
spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQLDialect
66
spring.jpa.hibernate.ddl-auto= update

0 commit comments

Comments
 (0)