Spring in Action, Fifth Edition 5th edition [Pehme köide]

  • Formaat: Paperback / softback, 520 pages, kõrgus x laius x paksus: 240x190x40 mm, kaal: 946 g
  • Ilmumisaeg: 25-Jan-2019
  • Kirjastus: Manning Publications
  • ISBN-10: 1617294942
  • ISBN-13: 9781617294945
Teised raamatud teemal:
  • Pehme köide
  • Hind: 45,88 EUR*
  • Tavahind: 51,19 EUR
  • Säästad 10%
  • Lisa soovinimekirja
  • Lisa ostukorvi
  • Kogus:
  • Tasuta tarne
  • Saadame välja 1 tööpäeva jooksul
  • Poes olemas 1 eks Raekoja plats 11, Tartu, E-R 10-18
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • soodushind kehtib ainult laos olevatele toodetele
  • Formaat: Paperback / softback, 520 pages, kõrgus x laius x paksus: 240x190x40 mm, kaal: 946 g
  • Ilmumisaeg: 25-Jan-2019
  • Kirjastus: Manning Publications
  • ISBN-10: 1617294942
  • ISBN-13: 9781617294945
Teised raamatud teemal:
Spring Framework has been making Java developers more productive and successful for over a dozen years, and it shows no signs of slowing down! Spring in Action, 5th Edition is the fully-updated revision of Manning's bestselling Spring in Action. This new edition includes all Spring 5.0 updates, along with new examples on reactive programming, Spring WebFlux, and microservices. Readers will also find the latest Spring best practices, including Spring Boot for application setup and configuration. Key Features * Developing reactive applications with Spring * Building applications with Spring and Spring Boot * Spring MVC for web apps and RESTful web services * Writing Spring-enabled data repositories Audience Written for intermediate Java developers. Author Bio Craig Walls is a software developer at Pivotal. He's a popular author and frequent speaker at user groups and conferences.
Preface xiii
Acknowledgments xv
About This Book xvii
Part 1 Foundational Spring 1(134)
1 Getting started with Spring
3(26)
1.1 What is Spring?
4(2)
1.2 Initializing a Spring application
6(11)
Initializing a Spring project with Spring Tool Suite
7(4)
Examining the Spring project structure
11(6)
1.3 Writing a Spring application
17(9)
Handling web requests
17(2)
Defining the view
19(1)
Testing the controller
20(1)
Building and running the application
21(2)
Getting to know Spring Boot DevTools
23(2)
Let's review
25(1)
1.4 Surveying the Spring landscape
26(3)
The core Spring Framework
26(1)
Spring Boot
26(1)
Spring Data
27(1)
Spring Security
27(1)
Spring Integration and Spring Batch
27(1)
Spring Cloud
28(1)
2 Developing web applications
29(27)
2.1 Displaying information
30(10)
Establishing the domain
31(1)
Creating a controller class
32(3)
Designing the view
35(5)
2.2 Processing form submission
40(5)
2.3 Validating form input
45(6)
Declaring validation rules
46(2)
Performing validation at form binding
48(1)
Displaying validation errors
49(2)
2.4 Working with view controllers
51(1)
2.5 Choosing a view template library
52(4)
Caching templates
54(2)
3 Working with data
56(28)
3.1 Reading and writing data with JDBC
57(18)
Adapting the domain for persistence
59(1)
Working with JdbcTemplate
60(4)
Defining a schema and preloading data
64(2)
Inserting data
66(9)
3.2 Persisting data with Spring Data JPA
75(9)
Adding Spring Data JPA to the project
76(1)
Annotating the domain as entities
76(4)
Declaring JPA repositories
80(1)
Customizing JPA repositories
81(3)
4 Securing Spring
84(30)
4.1 Enabling Spring Security
85(1)
4.2 Configuring Spring Security
86(17)
In-memory user store
88(1)
JDBC-based user store
89(3)
LDAP-backed user store
92(4)
Customizing user authentication
96(7)
4.3 Securing web requests
103(7)
Securing requests
104(2)
Creating a custom login page
106(3)
Logging out
109(1)
Preventing cross-site request forgery
109(1)
4.4 Knowing your user
110(4)
5 Working with configuration properties
114(21)
5.1 Fine-tuning autoconfiguration
115(7)
Understanding Spring's environment abstraction
116(1)
Configuring a data source
117(2)
Configuring the embedded server
119(1)
Configuring logging
120(1)
Using special property values
121(1)
5.2 Creating your own configuration properties
122(7)
Defining configuration properties holders
124(2)
Declaring configuration property metadata
126(3)
5.3 Configuring with profiles
129(8)
Defining profile-specific properties
130(1)
Activating profiles
131(1)
Conditionally creating beans with profiles
132(3)
Part 2 Integrated Spring 135(104)
6 Creating REST services
137(32)
6.1 Writing RESTful controllers
138(11)
Retrieving data from the server
140(5)
Sending data to the server
145(1)
Updating data on the server
146(2)
Deleting data from the server
148(1)
6.2 Enabling hypermedia
149(11)
Adding hyperlinks
152(2)
Creating resource assemblers
154(5)
Naming embedded relationships
159(1)
6.3 Enabling data-backed services
160(9)
Adjusting resource paths and relation names
162(2)
Paging and sorting
164(1)
Adding custom endpoints
165(2)
Adding custom hyperlinks to Spring Data endpoints
167(2)
7 Consuming REST services
169(9)
7.1 Consuming REST endpoints with RestTemplate
170(5)
GETting resources
172(1)
PUTting resources
173(1)
DELETEing resources
174(1)
POSTing resource data
174(1)
7.2 Navigating REST APIs with Traverson
175(3)
8 Sending messages asynchronously
178(31)
8.1 Sending messages with JMS
179(13)
Setting up JMS
179(2)
Sending messages with JmsTemplate
181(7)
Receiving JMS messages
188(4)
8.2 Working with RabbitMQ and AMQP
192(10)
Adding RabbitMQ to Spring
193(1)
Sending messages with RabbitTemplate
194(4)
Receiving message from RabbitMQ
198(4)
8.3 Messaging with Kafka
202(7)
Setting up Spring for Kafka messaging
203(1)
Sending messages with KafkaTemplate
204(2)
Writing Kafka listeners
206(3)
9 Integrating Spring
209(30)
9.1 Declaring a simple integration flow
210(6)
Defining integration flows with XML
211(2)
Configuring integration flows in Java
213(2)
Using Spring Integration's DSL configuration
215(1)
9.2 Surveying the Spring Integration landscape
216(15)
Message channels
217(2)
Filters
219(1)
Transformers
220(1)
Routers
221(2)
Splitters
223(2)
Service activators
225(2)
Gateways
227(1)
Channel adapters
228(2)
Endpoint modules
230(1)
9.3 Creating an email integration flow
231(8)
Part 3 Reactive Spring 239(82)
10 Introducing Reactor
241(28)
10.1 Understanding reactive programming
242(3)
Defining Reactive Streams
243(2)
10.2 Getting started with Reactor
245(3)
Diagramming reactive flows
246(1)
Adding Reactor dependencies
247(1)
10.3 Applying common reactive operations
248(21)
Creating reactive types
249(4)
Combining reactive types
253(4)
Transforming and filtering reactive streams
257(9)
Performing logic operations on reactive types
266(3)
11 Developing reactive APIs
269(27)
11.1 Working with Spring WebFlux
269(7)
Introducing Spring WebFlux
271(1)
Writing reactive controllers
272(4)
11.2 Defining functional request handlers
276(3)
11.3 Testing reactive controllers
279(6)
Testing GET requests
279(3)
Testing POST requests
282(2)
Testing with a live server
284(1)
11.4 Consuming REST APIs reactively
285(7)
GETting resources
285(2)
Sending resources
287(1)
Deleting resources
288(1)
Handling errors
289(1)
Exchanging requests
290(2)
11.5 Securing reactive web APIs
292(4)
Configuring reactive web security
292(2)
Configuring a reactive user details service
294(2)
12 Persisting data reactively
296(25)
12.1 Understanding Spring Data's reactive story
297(3)
Spring Data reactive distilled
297(1)
Converting between reactive and non-reactive types
298(2)
Developing reactive repositories
300(1)
12.2 Working with reactive Cassandra repositories
300(12)
Enabling Spring Data Cassandra
301(2)
Understanding Cassandra data modeling
303(1)
Mapping domain types for Cassandra persistence
304(5)
Writing reactive Cassandra repositories
309(3)
12.3 Writing reactive MongoDB repositories
312(11)
Enabling Spring Data MongoDB
312(2)
Mapping domain types to documents
314(3)
Writing reactive MongoDB repository interfaces
317(4)
Part 4 Cloud-Native Spring 321(72)
13 Discovering services
323(20)
13.1 Thinking in microservices
324(2)
13.2 Setting up a service registry
326(8)
Configuring Eureka
330(3)
Scaling Eureka
333(1)
13.3 Registering and discovering services
334(9)
Configuring Eureka client properties
335(2)
Consuming services
337(6)
14 Managing configuration
343(33)
14.1 Sharing configuration
344(1)
14.2 Running Config Server
345(7)
Enabling Config Server
346(3)
Populating the configuration repository
349(3)
14.3 Consuming shared configuration
352(1)
14.4 Serving application- and profile-specific properties
353(4)
Serving application-specific properties
354(1)
Serving properties from profiles
355(2)
14.5 Keeping configuration properties secret
357(7)
Encrypting properties in Git
357(3)
Storing secrets in Vault
360(4)
14.6 Refreshing configuration properties on the fly
364(12)
Manually refreshing configuration properties
365(2)
Automatically refreshing configuration properties
367(9)
15 Handling failure and latency
376(17)
15.1 Understanding circuit breakers
376(2)
15.2 Declaring circuit breakers
378(5)
Mitigating latency
381(1)
Managing circuit breaker thresholds
382(1)
15.3 Monitoring failures
383(6)
Introducing the Hystrix dashboard
384(3)
Understanding Hystrix thread pools
387(2)
15.4 Aggregating multiple Hystrix streams
389(4)
Part 5 Deployed Spring 393(73)
16 Working with Spring Boot Actuator
395(34)
16.1 Introducing Actuator
396(3)
Configuring Actuator's base path
397(1)
Enabling and disabling Actuator endpoints
398(1)
16.2 Consuming Actuator endpoints
399(17)
Fetching essential application information
400(3)
Viewing configuration details
403(8)
Viewing application activity
411(2)
Tapping runtime metrics
413(3)
16.3 Customizing Actuator
416(10)
Contributing information to the /info endpoint
416(5)
Defining custom health indicators
421(1)
Registering custom metrics
422(2)
Creating custom endpoints
424(2)
16.4 Securing Actuator
426(3)
17 Administering Spring
429(17)
17.1 Using the Spring Boot Admin
430(5)
Creating an Admin server
430(1)
Registering Admin clients
431(4)
17.2 Exploring the Admin server
435(7)
Viewing general application health and information
436(1)
Watching key metrics
437(1)
Examining environment properties
438(1)
Viewing and setting logging levels
439(1)
Monitoring threads
440(1)
Tracing HTTP requests
441(1)
17.3 Securing the Admin server
442(4)
Enabling login in the Admin server
443(1)
Authenticating with the Actuator
444(2)
18 Monitoring Spring with JMX
446(8)
18.1 Working with Actuator MBeans
446(3)
18.2 Creating your own MBeans
449(2)
18.3 Sending notifications
451(3)
19 Deploying Spring
454(12)
19.1 Weighing deployment options
455(1)
19.2 Building and deploying WAR files
456(2)
19.3 Pushing JAR files to Cloud Foundry
458(3)
19.4 Running Spring Boot in a Docker container
461(4)
19.5 The end is where we begin
465(1)
Appendix Bootstrapping Spring Applications 466(21)
Index 487
Craig Walls is a software developer at Pivotal. He's a popular author and frequent speaker at user groups and conferences.