Spring in Action, 6th Edition
- Length: 520 pages
- Edition: 6
- Language: English
- Publisher: Manning
- Publication Date: 2022-02-22
- ISBN-10: 1617297577
- ISBN-13: 9781617297571
- Sales Rank: #620504 (See Top 100 Books)
If you need to learn Spring, look no further than this widely beloved and comprehensive guide! Fully revised for Spring 5.3, and packed with interesting real-world examples to get your hands dirty with Spring.
In Spring in Action, 6th Edition you will learn:
- Building reactive applications
- Relational and NoSQL databases
- Integrating via HTTP and REST-based services, and sand reactive RSocket services
- Reactive programming techniques
- Deploying applications to traditional servers and containers
- Securing applications with Spring Security
Over the years, Spring in Action has helped tens of thousands of developers get a major productivity boost from Spring. This new edition of the classic bestseller covers all of the new features of Spring 5.3 and Spring Boot 2.4 along with examples of reactive programming, Spring Security for REST Services, and bringing reactivity to your databases. You’ll also find the latest Spring best practices, including Spring Boot for application setup and configuration.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the technology
Spring is required knowledge for Java developers! Why? Th is powerful framework eliminates a lot of the tedious configuration and repetitive coding tasks, making it easy to build enterprise-ready, production-quality software. The latest updates bring huge productivity boosts to microservices, reactive development, and other modern application designs. It’s no wonder over half of all Java developers use Spring.
About the book
Spring in Action, Sixth Edition is a comprehensive guide to Spring’s core features, all explained in Craig Walls’ famously clear style. You’ll put Spring into action as you build a complete database-backed web app step-by-step. This new edition covers both Spring fundamentals and new features such as reactive flows, Kubernetes integration, and RSocket. Whether you’re new to Spring or leveling up to Spring 5.3, make this classic bestseller your bible!
What’s inside
- Relational and NoSQL databases
- Integrating via RSocket and REST-based services
- Reactive programming techniques
- Deploying applications to traditional servers and containers
About the reader
For beginning to intermediate Java developers.
About the author
Craig Walls is an engineer at VMware, a member of the Spring engineering team, a popular author, and a frequent conference speaker.
Spring in Action, Sixth Edition From the fifth edition of Spring in Action by Craig Walls brief contents contents preface acknowledgments about this book Who should read this book How this book is organized: A roadmap About the code Book forum Other online resources about the author about the cover illustration Part 1—Foundational Spring 1 Getting started with Spring 1.1 What is Spring? 1.2 Initializing a Spring application 1.2.1 Initializing a Spring project with Spring Tool Suite 1.2.2 Examining the Spring project structure 1.3 Writing a Spring application 1.3.1 Handling web requests 1.3.2 Defining the view 1.3.3 Testing the controller 1.3.4 Building and running the application 1.3.5 Getting to know Spring Boot DevTools 1.3.6 Let’s review 1.4 Surveying the Spring landscape 1.4.1 The core Spring Framework 1.4.2 Spring Boot 1.4.3 Spring Data 1.4.4 Spring Security 1.4.5 Spring Integration and Spring Batch 1.4.6 Spring Cloud 1.4.7 Spring Native Summary 2 Developing web applications 2.1 Displaying information 2.1.1 Establishing the domain 2.1.2 Creating a controller class 2.1.3 Designing the view 2.2 Processing form submission 2.3 Validating form input 2.3.1 Declaring validation rules 2.3.2 Performing validation at form binding 2.3.3 Displaying validation errors 2.4 Working with view controllers 2.5 Choosing a view template library 2.5.1 Caching templates Summary 3 Working with data 3.1 Reading and writing data with JDBC 3.1.1 Adapting the domain for persistence 3.1.2 Working with JdbcTemplate 3.1.3 Defining a schema and preloading data 3.1.4 Inserting data 3.2 Working with Spring Data JDBC 3.2.1 Adding Spring Data JDBC to the build 3.2.2 Defining repository interfaces 3.2.3 Annotating the domain for persistence 3.2.4 Preloading data with CommandLineRunner 3.3 Persisting data with Spring Data JPA 3.3.1 Adding Spring Data JPA to the project 3.3.2 Annotating the domain as entities 3.3.3 Declaring JPA repositories 3.3.4 Customizing repositories Summary 4 Working with nonrelational data 4.1 Working with Cassandra repositories 4.1.1 Enabling Spring Data Cassandra 4.1.2 Understanding Cassandra data modeling 4.1.3 Mapping domain types for Cassandra persistence 4.1.4 Writing Cassandra repositories 4.2 Writing MongoDB repositories 4.2.1 Enabling Spring Data MongoDB 4.2.2 Mapping domain types to documents 4.2.3 Writing MongoDB repository interfaces Summary 5 Securing Spring 5.1 Enabling Spring Security 5.2 Configuring authentication 5.2.1 In-memory user details service 5.2.2 Customizing user authentication 5.3 Securing web requests 5.3.1 Securing requests 5.3.2 Creating a custom login page 5.3.3 Enabling third-party authentication 5.3.4 Preventing cross-site request forgery 5.4 Applying method-level security 5.5 Knowing your user Summary 6 Working with configuration properties 6.1 Fine-tuning autoconfiguration 6.1.1 Understanding Spring’s environment abstraction 6.1.2 Configuring a data source 6.1.3 Configuring the embedded server 6.1.4 Configuring logging 6.1.5 Using special property values 6.2 Creating your own configuration properties 6.2.1 Defining configuration property holders 6.2.2 Declaring configuration property metadata 6.3 Configuring with profiles 6.3.1 Defining profile-specific properties 6.3.2 Activating profiles 6.3.3 Conditionally creating beans with profiles Summary Part 2—Integrated Spring 7 Creating REST services 7.1 Writing RESTful controllers 7.1.1 Retrieving data from the server 7.1.2 Sending data to the server 7.1.3 Updating data on the server 7.1.4 Deleting data from the server 7.2 Enabling data-backed services 7.2.1 Adjusting resource paths and relation names 7.2.2 Paging and sorting 7.3 Consuming REST services 7.3.1 GETting resources 7.3.2 PUTting resources 7.3.3 DELETEing resources 7.3.4 POSTing resource data Summary 8 Securing REST 8.1 Introducing OAuth 8.2 Creating an authorization server 8.3 Securing an API with a resource server 8.4 Developing the client Summary 9 Sending messages asynchronously 9.1 Sending messages with JMS 9.1.1 Setting up JMS 9.1.2 Sending messages with JmsTemplate 9.1.3 Receiving JMS messages 9.2 Working with RabbitMQ and AMQP 9.2.1 Adding RabbitMQ to Spring 9.2.2 Sending messages with RabbitTemplate 9.2.3 Receiving messages from RabbitMQ 9.3 Messaging with Kafka 9.3.1 Setting up Spring for Kafka messaging 9.3.2 Sending messages with KafkaTemplate 9.3.3 Writing Kafka listeners Summary 10 Integrating Spring 10.1 Declaring a simple integration flow 10.1.1 Defining integration flows with XML 10.1.2 Configuring integration flows in Java 10.1.3 Using Spring Integration’s DSL configuration 10.2 Surveying the Spring Integration landscape 10.2.1 Message channels 10.2.2 Filters 10.2.3 Transformers 10.2.4 Routers 10.2.5 Splitters 10.2.6 Service activators 10.2.7 Gateways 10.2.8 Channel adapters 10.2.9 Endpoint modules 10.3 Creating an email integration flow Summary Part 3—Reactive Spring 11 Introducing Reactor 11.1 Understanding reactive programming 11.1.1 Defining Reactive Streams 11.2 Getting started with Reactor 11.2.1 Diagramming reactive flows 11.2.2 Adding Reactor dependencies 11.3 Applying common reactive operations 11.3.1 Creating reactive types 11.3.2 Combining reactive types 11.3.3 Transforming and filtering reactive streams 11.3.4 Performing logic operations on reactive types Summary 12 Developing reactive APIs 12.1 Working with Spring WebFlux 12.1.1 Introducing Spring WebFlux 12.1.2 Writing reactive controllers 12.2 Defining functional request handlers 12.3 Testing reactive controllers 12.3.1 Testing GET requests 12.3.2 Testing POST requests 12.3.3 Testing with a live server 12.4 Consuming REST APIs reactively 12.4.1 GETting resources 12.4.2 Sending resources 12.4.3 Deleting resources 12.4.4 Handling errors 12.4.5 Exchanging requests 12.5 Securing reactive web APIs 12.5.1 Configuring reactive web security 12.5.2 Configuring a reactive user details service Summary 13 Persisting data reactively 13.1 Working with R2DBC 13.1.1 Defining domain entities for R2DBC 13.1.2 Defining reactive repositories 13.1.3 Testing R2DBC repositories 13.1.4 Defining an OrderRepository aggregate root service 13.2 Persisting document data reactively with MongoDB 13.2.1 Defining domain document types 13.2.2 Defining reactive MongoDB repositories 13.2.3 Testing reactive MongoDB repositories 13.3 Reactively persisting data in Cassandra 13.3.1 Defining domain classes for Cassandra persistence 13.3.2 Creating reactive Cassandra repositories 13.3.3 Testing reactive Cassandra repositories Summary 14 Working with RSocket 14.1 Introducing RSocket 14.2 Creating a simple RSocket server and client 14.2.1 Working with request-response 14.2.2 Handling request-stream messaging 14.2.3 Sending fire-and-forget messages 14.2.4 Sending messages bidirectionally 14.3 Transporting RSocket over WebSocket Summary Part 4—Deployed Spring 15 Working with Spring Boot Actuator 15.1 Introducing Actuator 15.1.1 Configuring Actuator’s base path 15.1.2 Enabling and disabling Actuator endpoints 15.2 Consuming Actuator endpoints 15.2.1 Fetching essential application information 15.2.2 Viewing configuration details 15.2.3 Viewing application activity 15.2.4 Tapping runtime metrics 15.3 Customizing Actuator 15.3.1 Contributing information to the /info endpoint 15.3.2 Defining custom health indicators 15.3.3 Registering custom metrics 15.3.4 Creating custom endpoints 15.4 Securing Actuator Summary 16 Administering Spring 16.1 Using Spring Boot Admin 16.1.1 Creating an Admin server 16.1.2 Registering Admin clients 16.2 Exploring the Admin server 16.2.1 Viewing general application health and information 16.2.2 Watching key metrics 16.2.3 Examining environment properties 16.2.4 Viewing and setting logging levels 16.3 Securing the Admin server 16.3.1 Enabling login in the Admin server 16.3.2 Authenticating with the Actuator Summary 17 Monitoring Spring with JMX 17.1 Working with Actuator MBeans 17.2 Creating your own MBeans 17.3 Sending notifications Summary 18 Deploying Spring 18.1 Weighing deployment options 18.2 Building executable JAR files 18.3 Building container images 18.3.1 Deploying to Kubernetes 18.3.2 Enabling graceful shutdown 18.3.3 Working with application liveness and readiness 18.4 Building and deploying WAR files 18.5 The end is where we begin Summary Appendix—Bootstrapping Spring applications A.1 Initializing a project with Spring Tool Suite A.2 Initializing a project with IntelliJ IDEA A.3 Initializing a project with NetBeans A.4 Initializing a project at start.spring.io A.5 Initializing a project from the command line curl and the Initializr API Spring Boot command-line interface A.6 Building and running projects index A B C D E F G H I J K L M N O P Q R S T U V W X Z
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.