Skip to product information
Becoming a Spring Boot 3 Backend Developer: Java Edition (2nd Edition)
Becoming a Spring Boot 3 Backend Developer: Java Edition (2nd Edition)
Description
Book Introduction
If you want to become a Java backend developer
After you've read the Java language introduction, you should definitely read this.


To grow into a skilled developer, the beginning is important.
So, this book explains the essential knowledge of backend development to beginners who are unsure of where to start, focusing on a learning roadmap.
Next, we will cover the four essential elements of Spring Boot 3 development: JPA ORM, OAuth2 authentication, AWS deployment, and CI/CD, in a practical and up-to-date manner.
Practice problems are included at the end of each chapter so you can check what you've learned.
This second edition has been made even better by adding essential SQL fundamentals and practices for Spring Boot project execution, Spring Security updates, and blog comment features.
This book will serve as a solid compass on your journey as a backend developer.

  • You can preview some of the book's contents.
    Preview

index
[Level 1 │ Getting Started with Backend with Spring Boot]

Chapter 00 Setting up the development environment
_0.0 Project Understanding with Pictures
_0.1 IntelliJ Installation and Configuration
__Installing IntelliJ on Windows
Installing IntelliJ on macOS
__Create a project
_0.2 Creating a Spring Boot 3 Project
_0.3 Installing Postman
_0.4 Example code repository location and ask the author a question as a GitHub issue
_0.5 A sweet shortcut that will greatly increase development convenience and speed.

Chapter 1: Useful Knowledge for Java Backend Developers
_1.1 Server and Client
__What is a client?
__What is a server?
_1.2 database
__What is RDB?
__What is SQL?
__What is NoSQL?
_1.3 IP and Port
_1.4 Libraries and Frameworks
__What is a library?
What is a __framework?
_1.5 Backend Developer's Duties
_1.6 Backend Programming Language
_1.7 Java Annotations

Chapter 2: Getting Started with Spring Boot 3
_2.0 Project Understanding with Pictures
_2.1 Spring and Spring Boot
__The emergence of spring
Spring Boot makes Spring easier
_2.2 Studying Spring Concepts
__Inversion of control and dependency injection
__Bean and Spring Container
__Aspect-Oriented Programming
__Portable Service Abstraction
_2.3 Spring Boot 3 Overview
__Creating your first Spring Boot 3 example
__Explore the Spring Boot Starter
__Automatic configuration
__Spring Boot 3 and Java version
_2.4 Understanding Spring Boot 3 Code
Understanding __@SpringBootApplication
__Looking at the test controller

__Learning completion
__Practice Problems

Chapter 3: Understanding Spring Boot 3 Architecture
_3.0 Understanding the Project with Pictures
_3.1 Spring Boot 3 Architecture Overview
__The class understood through cafes and bakeries
__A look at the Spring Boot project directory structure
Configuring the __main directory
_3.2 Developing a Spring Boot 3 Project
Adding dependencies to __build.gradle
__Creating the Presentation, Service, and Persistence Layers
__Handling Import Errors
__Check operation
_3.3 Understanding Spring Boot's request-response process in one go

__Learning completion
__Practice Problems

Chapter 4 Spring Boot 3 and Testing
_4.1 Learning the concept of test code
__What is test code?
_4.2 Testing with Spring Boot 3
__What is JUnit?
_4.3 Writing proper test code
__Practicing test code patterns

__Learning completion
__Practice Problems

Chapter 5: ORM for easier database manipulation
_5.0 Understanding the Project with Pictures
_5.1 What is a database?
__Database Administrator, DBMS
__Practice manipulating databases with SQL statements
_5.2 What is ORM?
_5.3 JPA and Hibernate?
__What is an entity manager?
__What is a persistence context?
__Entity's state
_5.4 Spring Data and Spring Data JPA
__What is Spring Data JPA?
__Try using methods provided by Spring Data JPA
_5.5 Examining the Example Code

__Learning completion
__Practice Problems

[Level 2 | Building a Proper Blog with Spring Boot 3]

[Project] Chapter 6: Planning a Blog and Creating an API
_6.0 Understanding the Project with Pictures
_6.1 Prerequisites: API and REST API
API for restaurants
__REST API that takes full advantage of the web
6.2 Configuring Entities for Blog Development
__Preparing the project
__Configuring entities
__Create a repository
6.3 Implementing an API for Writing Blog Posts
__Write service method code
__Write controller method code
__Testing API execution
__Writing test code to reduce repetitive work
6.4 Implementing an API for retrieving a list of blog posts
__Write service method code
__Write controller method code
__Run Test
__Writing test code
6.5 Implementing the Blog Post View API
__Write service method code
__Write controller method code
__Writing test code
6.6 Implementing the Blog Post Deletion API
__Write service method code
__Write controller method code
__Run Test
__Writing test code
6.7 Implementing the Blog Post Edit API
__Write service method code
__Write controller method code
__Run Test
__Writing test code

__Learning completion
__Practice Problems

[Project] Chapter 7: Configuring the Blog Screen
_7.1 Prerequisite: Timeleaf
__Understanding the concept of template engines
__Adding dependencies for using Thymeleaf
__Writing a controller to learn Thymeleaf syntax
__Writing a view
__Testing the view
_7.2 Implementing a blog post list view
__Writing a controller method
__Creating and testing an HTML view
_7.3 Implementing a blog post view
__Add creation and modification times to entities
__Writing a controller method
__Creating an HTML view
__Run Test
_7.4 Adding a delete function
__Write the delete function code
__Run Test
_7.5 Adding edit/create functionality
__Creating a Modify/Create View Controller
__Create/Edit View
__Run Test
_7.6 Finishing the creation function
__Write a create function
__Run Test

__Learning completion
__Practice Problems

[Project] Chapter 8: Implementing Login/Logout and Membership Registration with Spring Security
_8.0 Understanding the Project with Pictures
_8.1 Prerequisites: Spring Security
_8.2 Creating a Member Domain
__Add dependency
__Create an entity
__Create a repository
__Write service method code
_8.3 Setting up security
_8.4 Implementing Membership Registration
__Write service method code
__Writing a Controller
_8.5 Creating a membership registration and login view
__Implementing a view controller
__Writing a view
_8.6 Implementing logout
__Add a logout method
__Add a logout view
_8.7 Running Tests
__Add environment variables for testing
__Testing login and sign-up
__Test logout execution

__Learning completion
__Practice Problems

[Project] Chapter 9: Implementing Login/Logout with JWT
_9.1 Prerequisite: Token-Based Authentication
__What is token-based authentication?
__JWT
_9.2 Implementing the JWT Service
__Add dependency
__Add a token provider
__Implementing a refresh token domain
__Implementing a token filter
_9.3 Implementing the Token API
Adding a __Token Service
__Add a controller

__Learning completion
__Practice Problems

[Project] Chapter 10: Implementing Login/Logout with OAuth2
_10.1 Prerequisites: OAuth
__What is OAuth?
__What is the authorization code approval type?
__What is a cookie?
_10.2 Receiving a token
_10.3 Implementing and Applying OAuth2 with Spring Security
__Add dependency
__Implementing a cookie management class
__Implementing an OAuth2 service
__Creating an OAuth2 configuration file
__Add author to post
__Configuring the OAuth View
__Add logic to edit, delete, and confirm author of a post
_10.4 Testing OAuth2 execution
_10.5 Resolving test code failures and fixing code

__Learning completion
__Practice Problems

[Level 3 │ Easily Deploy and Maintain with AWS and GitHub Actions]

[Project] Chapter 11: Deploying a Project to AWS
_11.1 Prerequisites: AWS
__What is AWS?
__Deploying our services with AWS services
__Easy-to-setup Elastic Beanstalk
_11.2 Creating an AWS Account
_11.3 Building a Server with Elastic Beanstalk
__Creating an Elastic Beanstalk Service
__Creating RDS in Elastic Beanstalk
__Connecting to RDS locally
_11.4 Deploying Our Service to Elastic Beanstalk
__Deploying the application
__Adding authorized URIs to the OAuth service

__Learning completion
__Practice Problems

[Project] Chapter 12: Introducing CI/CD
_12.1 Prerequisites: CI/CD
__What is CI/CD?
__Git and GitHub
_12.2 Using GitHub Actions
__Create a GitHub repository and push code
__Writing GitHub Action Scripts, CI
__Writing GitHub Action Scripts, CD

__Learning completion
__Practice Problems

Appendix A Value Verification Guide
Appendix B Exception Handling Guide
Appendix C Debugging Guide
Appendix D Guide to Adding Comments

Detailed image
Detailed Image 1

Publisher's Review
★ An instant bestseller, the representative book on Spring Boot
★ Back with a more powerful 2nd edition!


The first edition of this book became a bestseller in both online and offline bookstores immediately after its publication.
To meet the rapid pace of technology and the increasing expectations of readers, we have returned with a second edition that further strengthens the theory and practice.
In the second edition, the strengthened content is as follows, totaling 64 pages.


1.
Reinforcement of structure and principle theory
2.
SQL Basics and Practice You Need to Know to Develop a Spring Boot Project
3.
Spring Security Update
4.
Added blog comment features, etc.

★ Welcome to the backend world
★ Introducing the next Java book


welcome.
If you want to become a backend developer but don't know how or what to do, you've come to the right place.
This book provides the information needed to get started with backend after studying Java.
It's useful not only for beginners, but also for junior developers who want to learn the basics in a more in-depth and systematic way, and for developers who want to experience high-level code with large-scale service know-how.


Study with the Four Great Leaders
The core of the Java backend environment is Spring Boot.
Since Spring Boot is a Java-based framework, you must know the basics of the Java language, including basic grammar, classes, and interfaces, as well as database and SQL-related knowledge.
Worried that you'll need to know too much basic knowledge? Don't worry.
These basic knowledge are fully explained in the book.
This book introduces the four major topics to study along with Spring Boot.

〈ORM (JPA + Hibernate)〉 JPA is an interface that defines how to use a relational database in Java.
In other words, Spring Boot manipulates the database using Java, not SQL. Since JPA is an interface, you need to select an additional ORM framework.
In practice, Hibernate is widely used.

〈Authentication (ID/PW, OAuth2, JWT)〉 The basic functions of a blog, such as writing, editing, viewing, and deleting, are basic.
Here, we implement various methods for member registration, login, and logout.
From simple ID/PW input methods to Google login using OAuth2 and token authentication using JWT, this course covers all practical application techniques while gradually upgrading functionality.

If you've finished developing 〈AWS Deployment (Elastic Beanstalk)〉 , you should also deploy it.
Here, we deploy the blog using AWS's Elastic Beanstalk.
Here, we will learn how to properly deploy to AWS using the Spring Boot environment, starting with an explanation of AWS configurations such as EC2, auto-scaling groups, load balancers, and RDS.

What is CI/CD (GitHub Actions) ? Simply put, it's the process of automating the entire process: from developers completing development, building the application, testing it, updating the code to a remote repository, and deploying it.
In most practical environments, CI/CD is implemented.
Here, we will proceed with CI/CD using GitHub Actions.

The "Becoming" series provides you with a path forward. Discover the backend roadmap for beginners.

The author recalled the difficulties he faced when he first started out as a backend developer.
I didn't know what to do or how to do it.
We needed a roadmap.
But no one provided a proper roadmap.
So, the author first presents and explains the backend roadmap that beginners need.
The roadmap lists numerous technologies.
You can't fit everything on the roadmap into one book, nor can you learn it all in one go.
This book presents a roadmap for studying together, focusing on Spring Boot 3 as a starting point.

Learn practical skills
Technology changes rapidly.
There are technologies that are trending now but are losing ground, and technologies that are still weak but are rising.
There are good reasons why trends change.
On the other hand, the fundamentals do not change regardless of trends.
So, the basics are solid, and the skill set is trendy and practical.

Experience high-quality code with a rich experience.
If you search the Internet, you can easily get working code.
Most of the code obtained in this way lacks functionality or causes various issues as the service grows.
The code in this book is not that kind of copy-and-paste code from the Internet.
This is code that contains my experience developing and operating services.
If you search the Internet, you will find a lot of code for blog development.
However, there is no book that properly integrates JWT and OAuth2 or provides a well-organized development plan that takes CI/CD into account.
This book covers everything from properly functioning blog features to security for JWT and OAuth2, to CI/CD that you'll experience in your future work.

Introducing the topics covered in this book
To avoid interrupting the learning flow, this book builds a development environment in advance, and then builds Java backend development skills by dividing it into Level 1 through Level 3, focusing on Spring Boot 3.
And every chapter includes practice problems so you can check what you've learned.

_Level 1 Getting Started with Backend with Spring Boot
To properly utilize Spring Boot, you need to understand the structure and concepts of the tool itself.
After preparing the development environment and learning about the structure and concepts of Spring Boot, you will become familiar with it with your eyes and hands through basic project practice.

_Level 2 Creating a Spring Boot Blog Properly
It's time to get started with some serious Spring Boot development.
Here, you'll learn how to properly develop your own blog. You'll also learn practical skills like developing a RESTful API, configuring security using Spring Security, and writing and executing maintenance tests.
The exercises in the text are structured in a repeating pattern.
For those new to Spring Boot development, there's no better setup to practice with.

_Level 3 Deployment/Maintenance Made Easy with AWS and GitHub Actions
In practice, we don't just develop.
You also need to know how to distribute.
This article covers deploying web applications using AWS.
And that's not all.
We've also structured the text to help you experience the CI/CD process using GitHub Actions.
GOODS SPECIFICS
- Date of issue: April 5, 2024
- Page count, weight, size: 448 pages | 812g | 183*235*21mm
- ISBN13: 9791191905717

You may also like

카테고리