▶Book Description
React Hooks have changed the way React components are coded. They enable you to write components in a more intuitive way without using classes, which makes your code easier to read and maintain. Building on from the previous edition, this book is updated with React Hooks and the latest changes introduced in create-react-app and Spring Boot 2.1.
This book starts with a brief introduction to Spring Boot. You’ll understand how to use dependency injection and work with the data access layer of Spring using Hibernate as the ORM tool. You’ll then learn how to build your own RESTful API endpoints for web applications. As you advance, the book introduces you to other Spring components, such as Spring Security to help you secure the backend. Moving on, you’ll explore React and its app development environment and components for building your frontend. Finally, you’ll create a Docker container for your application by implementing the best practices that underpin professional full stack web development.
By the end of this book, you’ll be equipped with all the knowledge you need to build modern full stack applications with Spring Boot for the backend and React for the frontend.
▶What You Will Learn
- Create a RESTful web service with Spring Boot
- Grasp the fundamentals of dependency injection and how to use it for backend development
- Discover techniques for securing the backend using Spring Security
- Understand how to use React for frontend programming
- Benefit from the Heroku cloud server by deploying your application to it
- Delve into the techniques for creating unit tests using JUnit
- Explore the Material UI component library to make more user-friendly user interfaces
▶Key Features
- Unleash the power of React Hooks to build interactive and complex user interfaces
- Build scalable full stack applications designed to meet demands of modern users
- Understand how the Axios library simplifies CRUD operations
▶Who This Book Is For
If you are a Java developer familiar with Spring, but are new to building full stack applications, this is the book for you.
▶What this book covers
- Chapter 1, Setting Up the Environment and Tools – Backend, explains how to install the software needed for backend development and how to create your first Spring Boot application.
- Chapter 2, Dependency Injection, introduces dependency injection and explains how to use it with Spring Boot.
- Chapter 3, Using JPA to Create and Access a Database, introduces Java Persistence API (JPA)and explains how to create and access databases with Spring Boot.
- Chapter 4, Creating a RESTful Web Service with Spring Boot, shows how to create RESTful web services using Spring Data REST.
- Chapter 5, Securing and Testing Your Backend, explains how to secure your backend using Spring Security and JSON Web Token (JWT).
- Chapter 6, Setting Up the Environment and Tools – Frontend, explains how to install the software needed for frontend development.
- Chapter 7, Getting Started with React, introduces the basics of the React library.
- Chapter 8, Consuming the REST API with React, shows how to use REST APIs with React using the fetch API.
- Chapter 9, Useful Third-Party Components for React, demonstrates some handy components that we'll use in our frontend development.
- Chapter 10, Setting Up the Frontend for Our Spring Boot RESTful Web Service, explains how to set up the React app and Spring Boot backend for frontend development.
- Chapter 11, Adding CRUD Functionalities, shows how to implement CRUD functionalities with the React frontend.
- Chapter 12, Styling the Frontend with React Material-UI, shows how to polish the user interface using the React Material-UI component library.
- Chapter 13, Testing Your Frontend, explains the basics of React frontend testing.
- Chapter 14, Securing Your Application, explains how to secure the frontend using JWT.
- Chapter 15, Deploying Your Application, demonstrates how to deploy an application to Heroku and how to use Docker containers.
- Chapter 16, Best Practices, explains the basic technologies that are needed to become a full stack developer, and covers some basic best practices for software development.