Search This Blog

Thursday, November 29, 2018

Pro Spring Boot 2: An Authoritative Guide to Building Microservices, Web and Enterprise Applications, and Best Practices review



Quickly and productively develop complex Spring applications and microservices out of the box, with minimal concern over things like configurations. This revised book will show you how to fully leverage the Spring Boot 2 technology and how to apply it to create enterprise ready applications that just work.  It will also cover what's been added to the new Spring Boot 2 release, including Spring Framework 5 features like WebFlux, Security, Actuator and the new way to expose Metrics through Micrometer framework, and more.

This book is your authoritative hands-on practical guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no nonsense guide with case studies of increasing complexity throughout the book. The author, a senior solutions architect and Principal Technical instructor with Pivotal, the company behind the Spring Framework, shares his experience, insights and first-hand knowledge about how Spring Boot technology works and best practices.

Pro Spring Boot 2 is an essential book for your Spring learning and reference library.

What You Will Learn

  • Configure and use Spring Boot 
  • Use non-functional requirements with Spring Boot Actuator
  • Carry out web development with Spring Boot
  • Persistence with JDBC, JPA and NoSQL Databases
  • Messaging with JMS, RabbitMQ and WebSockets
  • Test and deploy with Spring Boot
  • A quick look at the Spring Cloud projects
  • Microservices and deployment to the Cloud
  • Extend Spring Boot by creating your own Spring Boot Starter and @Enable feature
Who This Book Is For

Experienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services.





Read more...

Wednesday, November 28, 2018

Spring Boot 2 Recipes: A Problem-Solution Approach review



Solve all your Spring Boot 2 problems using complete and real-world code examples. When you start a new project, you’ll be able to copy the code and configuration files from this book, and then modify them for your needs. This can save you a great deal of work over creating a project from scratch.

Using a problem-solution approach, Spring Boot 2 Recipes quickly introduces you to Pivotal's Spring Boot 2 micro-framework, then dives into code snippets on how to apply and integrate Spring Boot 2 with the Spring MVC web framework, Spring Web Sockets, and microservices. You'll also get solutions to common problems with persistence, integrating Spring Boot with batch processing, algorithmic programming via Spring Batch, and much more. Other recipes cover topics such as using and integrating Boot with Spring's enterprise services, Spring Integration, testing, monitoring and more.


What You'll Learn
  • Get reusable code recipes and snippets for the Spring Boot 2 micro-framework 
  • Discover how Spring Boot 2 integrates with other Spring APIs, tools, and frameworks
  • Access Spring MVC and the new Spring Web Sockets for simpler web development
  • Work with microservices for web services development and integration with your Spring Boot applications
  • Add persistence and a data tier seamlessly to make your Spring Boot web application do more
  • Integrate enterprise services to create a more complex Java application using Spring Boot

Who This Book Is For

Experienced Java and Spring programmers.  




Read more...

Spring in Action review



Summary

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. 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 Framework makes life easier for Java developers. New features in Spring 5 bring its productivity-focused approach to microservices, reactive development, and other modern application designs. With Spring Boot now fully integrated, you can start even complex projects with minimal configuration code. And the upgraded WebFlux framework supports reactive apps right out of the box!

About the Book

Spring in Action, 5th Edition guides you through Spring's core features, explained in Craig Walls' famously clear style. You'll roll up your sleeves and build a secure database-backed web app step by step. Along the way, you'll explore reactive programming, microservices, service discovery, RESTful APIs, deployment, and expert best practices. Whether you're just discovering Spring or leveling up to Spring 5.0, this Manning classic is your ticket!

What's inside

  • Building reactive applications
  • Spring MVC for web apps and RESTful web services
  • Securing applications with Spring Security
  • Covers Spring 5.0
  • Over 100,000 copies sold!

About the Reader

For intermediate Java developers.

About the Author

Craig Walls is a principal software engineer at Pivotal, a popular author, an enthusiastic supporter of Spring Framework, and a frequent conference speaker.

Table of Contents

  1. PART 1 - FOUNDATIONAL SPRING

  2. Getting started with Spring
  3. Developing web applications
  4. Working with data
  5. Securing Spring
  6. Working with configuration properties

    PART 2 - INTEGRATED SPRING

  7. Creating REST services
  8. Consuming REST services
  9. Sending messages asynchronously
  10. Integrating Spring

    PART 3 - REACTIVE SPRING

  11. Introducing Reactor
  12. Developing reactive APIs
  13. Persisting data reactively

    PART 4

    CLOUD-NATIVE SPRING
  14. Discovering services
  15. Managing configuration
  16. Handling failure and latency

    PART 5 - DEPLOYED SPRING

  17. Working with Spring Boot Actuator
  18. Administering Spring
  19. Monitoring Spring with JMX
  20. Deploying Spring




Read more...

Hands-On Reactive Programming in Spring 5: Build cloud-ready, reactive systems with Spring 5 and Project Reactor review



Explore the reactive system and create efficient microservices with Spring Boot 2.1 and Spring Cloud

Key Features

  • Understand the kind of system modern businesses require with Spring
  • Gain deeper insights into reactive programming with Reactor and Spring Cloud
  • Get in-depth knowledge on asynchronous and nonblocking communication with Spring 5 WebFlux

Book Description

These days, businesses need a new type of system that can remain responsive at all times. This is achievable with reactive programming; however, the development of these kinds of systems is a complex task, requiring a deep understanding of the domain. In order to develop highly responsive systems, the developers of the Spring Framework came up with Project Reactor.

Hands-On Reactive Programming in Spring 5 begins with the fundamentals of Spring Reactive programming. You’ll explore the endless possibilities of building efficient reactive systems with the Spring 5 Framework along with other tools such as WebFlux and Spring Boot. Further on, you’ll study reactive programming techniques and apply them to databases and cross-server communication. You will advance your skills in scaling up Spring Cloud Streams and run independent, high-performant reactive microservices.

By the end of the book, you will be able to put your skills to use and get on board with the reactive revolution in Spring 5.1!

What you will learn

  • Discover the difference between a reactive system and reactive programming
  • Explore the benefits of a reactive system and understand its applications
  • Get to grips with using reactive programming in Spring 5
  • Gain an understanding of Project Reactor
  • Build a reactive system using Spring 5 and Project Reactor
  • Create a highly efficient reactive microservice with Spring Cloud
  • Test, monitor, and release reactive applications

Who this book is for

This book is for Java developers who use Spring to develop their applications and want to build robust and reactive applications that can scale in the cloud. Basic knowledge of distributed systems and asynchronous programming will help you understand the concepts covered in this book.

Table of Contents

  1. Why Reactive Spring
  2. Reactive Programming in Spring - Basic Concepts
  3. Reactive Streams - the new Streams’ Standard
  4. Project Reactor - the Foundation for Reactive Apps
  5. Going Reactive with Spring Boot 2
  6. Async nonblocking communication with Spring 5 WebFlux
  7. Reactive Database access
  8. Scale up with Spring Cloud Streams and Reactive Microservices
  9. Testing the Reactive Application
  10. And, Finally Release It




Read more...

supring kaitaishinsho: supuringubuto2dejissainitsukuttemanaberu (Japanese Edition) review



【後悔しないためのSpring入門書】
 あなたが今、この本を手に取っているということは、これからSpringを使った開発をする予定があるのだと思います。私もSpringを使った開発をするにあたり、一通りの本を読みました。ただ、どれも満足するものがありませんでした。その理由は、以下の通りです。

●動かせるサンプルコードが載っていないため、実際の使い方が分からない
 他の本でよくあるのが、リファレンス、つまり辞書みたいに説明をしていることがあります。例えば、こういうコードを書けば、DBからselectできるよ、という書き方です。そのような本も必要なのですが、これを実際に動かしてみると、どうやって動かせばいいの?と、なります。なぜなら、コードを動かす前に自分で設定をしたり、仕様を考えなければいけないからです。DBの操作なら、まだ簡単に試せますが、中には試しづらい機能もあります。動かしてみると、思わぬ落とし穴があったりするので結局、試行錯誤の繰り返しになってしまいます。仕事以外にもやりたいことはあるのに、これでは時間を無駄にしてしまうことになります。

●サンプルがあってもごく簡単なもので、実戦では使い物にならない
 また、サンプルがあったとしても、すごく簡単なものが多いです。最初はその方が分かりやすいのですが、現場で求められるレベルはその先にあります。応用レベルまで身に付けてはじめて、実戦に出れるのです。

●Springの全てを説明していない
 Springは、とても大きいフレームワークで、いくつかの機能毎にフレームワークが分かれています。例えば、セキュリティならSpring Security、Webアプリケーション開発ならSpringBootなど、たくさんのフレームワークがあります。ここで残念なことに、SpringBootの入門書を読んでいると、SpringBootだけの説明をしていることがあります。本格的なWebアプリケーションを開発するには、SpringBoot以外にも、Spring Security、DB操作などについても知らないと開発ができません。結局、他の本も買うはめになってしまいます。

●DI(依存性の注入)の説明がとても分かりづらい
とても残念なことなのですが、他の書籍ではDI(依存性の注入)の説明が分かりづらいことがあります。DI(依存性の注入)とは、Springのコア(土台)となる機能です。これが使えないと、Springを使う意味がなくなってしまいます。

 Springはそもそも機能が膨大なので、1冊で説明しきることはもちろんできません。ただ、段階的にきちっと学習すれば、すぐに実戦レベルにまでなれます。

 そこで、本書では実際に1つのWebアプリケーションを作成していきます。そうすることで、実戦的なWebアプリケーション開発を体験学習できるからです。

 もちろん、ただサンプルを動かせるようにしただけではありません。本書には以下の特徴があります。


【効率的な学習で、1週間で身に付けることも可能!】
 効率的な学習方法は色々ありますが、実際にやってみるというのは、効率的に身に付ける方法の1つです。

 また、実際に動かしてみることには、他のメリットもあります。それは、自信が付くということです。どういうことかというと、何でも初めてのことは誰だって怖いものです。初めてだと、ちゃんと動くかな?動いたあとも、バグが起きないか、などを心配して行動できなくなることがあります。少なくとも、私はそうです。これが、1回でも体験していると、1回やったから大丈夫!となる訳です。

 また、本書で作成するサンプルコードは実戦を想定して作っています。そのため、出来上がったコードを参照・再利用すれば、実際の現場でもすぐに活躍できるはずです。そうすれば、残業とは無縁で、アフター5を楽しめると思います。

 1つのWebアプリケーションを作成していくため、順番に読んでいくような構成となっています。例えば、最初は入力チェック、次にAOP、DB操作…というように、段々と機能を追加していきます。そのため、本書は1章から順番に読んでいくことをオススメします。

 忙しい方のために、各章のはじめとおわり時点のサンプルコードをダウンロードできるようになっています。こうすることで、途中からでも実際にコードを作っていくことができるようになっています。


【とことん分かりやすさを追及!】
 本書では、理解しやすくなるために、色々な工夫をしています。例えば、以下のような工夫をしています。

●図解を多く盛り込む
 説明のときに図があるかないかで、理解のしやすさが全く変わってきます。私自身、図がないと分かりづらいタイプの人間ということもあり、図解を多く盛り込んで、理解をしやすくしてます。

●ステップバイステップ
 何かを教えたり伝える際には、注意しなければならないことがあります。それは、伝えることは1つにするということです。一度にたくさんのことを言われても、頭がこんがらがってしまいます(私がそうです)。特に、本では文字と図でしか説明できないため、なおさら重要になります。だから本書では、1度に伝えることは1つにしています。その分、説明やコードが長くなってしまいますが、とても理解がしやすくなるはずです。

●事前の説明でゴールを明確に
 実際にサンプルコードを作る前に、まずは何を作っていくのかを説明します。例えば、データベースから検索するために、検索条件の入力項目を追加するなどです。画面イメージなどで先に説明したあとに作ってもらいます(もちろん、読むだけでもOKです)。なぜこんなことをするかというと、理解しやすくなるからです。これから何をするんだ?と、ゴールが分からない状態よりも、目的が分かっている状態で作ったほうが理解が深まります。

 また、DI(依存性の注入)の説明には、特に力を入れてます。私は、ネットでDIについて調べたり、他書を何回も読み直して、やっと理解できました。そこで、なぜ他の書籍ではDIの説明が分かりづらいのかが判明しました。他書では、Java上級者やSpring経験者向けの説明になっているからです。

 だから本書では、Java初心者でも理解できるレベルから、DI(依存性の注入)の説明をしています。もちろん、Java上級者、Spring経験者でも理解ができるようになっています。


【対象読者】
 本書を読むにあたって、以下の知識があることが望ましいです。
・Javaの基礎
・HTMLの基礎
・SQLの基礎

 あくまでも、フレームワークという道具の使い方について学んでいくだけですので、基礎レベルであれば十分です。


【アプリケーションの構成】
 本書で開発するWebアプリケーションは、以下の構成で作っていきます。

・Spring:5系
・SpringBoot: 2.0.4
・DB:H2

 本書のサンプルコードは、なるべくバージョンに関係ない、汎用的なコードを載せています。とはいえ、バージョンが上がったことにより、他の書籍などでは分からないこともあります。なぜなら、執筆時点では、SpringBootのバージョン1系でのサンプルが載っているWebサイト・書籍がほとんどだからです。本書では、バージョン2で作っているため、Webの通りやっているのになぜか動かない、ということが避けられます。

 また、SpringセキュリティやJDBC、Mybatisなどを随時追加していく構成となっています。


【電子書籍だからこそ】
 本書は電子書籍での提供となっています。紙の方がパラパラめくれるので、目的のページをすぐ探しやすいという利点があります。その点に配慮して、本書では各ページへのリンクを多数、貼っています。そのため、目的のページをすぐ見つけることができます。

 また、他の書籍ではボリュームがあるため、紙媒体だと結構なお値段になります。本書は、他の書籍と同等のボリュームでありながら、お値段は安めになっています。電子書籍だからこそできるお値段です。

 ただし、コード可読性のため、タブレット端末での閲覧をおススメします。


【目次(概要)】
1章 Springの概要
2章 開発環境の構築
3章 Springを試してみよう
4章 DI(依存性の注入)とは
5章 Webアプリケーションの概要
6章 データバインド&バリデーション
7章 Spring AOP
8章 Spring JDBC
9章 例外ハンドリング
10章 Spring Security
11章 RESTサービス
12章 SpringTest
13章 Spring + MyBatis


 まずは、本書をお試しください。



Read more...

Tuesday, November 27, 2018

Hands-On Full Stack Development with Spring Boot 2.0 and React: Build modern and scalable full stack applications using the Java-based Spring Framework 5.0 and React review



Develop efficient and modern full-stack applications using Spring Boot and React 16

Key Features

  • Develop resourceful backends using Spring Boot and faultless frontends using React.
  • Explore the techniques involved in creating a full-stack app by going through a methodical approach.
  • Learn to add CRUD functionalities and use Material UI in the user interface to make it more user-friendly.

Book Description

Apart from knowing how to write frontend and backend code, a full-stack engineer has to tackle all the problems that are encountered in the application development life cycle, starting from a simple idea to UI design, the technical design, and all the way to implementing, testing, production, deployment, and monitoring. This book covers the full set of technologies that you need to know to become a full-stack web developer with Spring Boot for the backend and React for the frontend.

This comprehensive guide demonstrates how to build a modern full-stack application in practice. This book will teach you how to build RESTful API endpoints and work with the data access Layer of Spring, using Hibernate as the ORM. As we move ahead, you will be introduced to the other components of Spring, such as Spring Security, which will teach you how to secure the backend. Then, we will move on to the frontend, where you will be introduced to React, a modern JavaScript library for building fast and reliable user interfaces, and its app development environment and components.

You will also create a Docker container for your application. Finally, the book will lay out the best practices that underpin professional full-stack web development.

What you will learn

  • Create a RESTful web service with Spring Boot
  • Understand how to use React for frontend programming
  • Gain knowledge of how to create unit tests using JUnit
  • Discover the techniques that go into securing the backend using Spring Security
  • Learn how to use Material UI in the user interface to make it more user-friendly
  • Create a React app by using the Create React App starter kit made by Facebook

Who this book is for

Java developers who are familiar with Spring, but have not yet built full-stack applications

Table of Contents

  1. Setting up Environment & Tools
  2. Using JPA to create and access database
  3. Creating RESTful Web Service with Spring Boot
  4. Securing & Testing your back end
  5. Setting up environment and tools
  6. Getting started with React
  7. Consuming REST API with React
  8. Useful 3rd party components for React
  9. Setting up Front-end to our Spring Boot RESTful Web Service
  10. Adding CRUD functionalities
  11. Styling Front-End with React Material-UI
  12. Testing your front-end
  13. Securing your application
  14. Deploying your application
  15. Best Practices




Read more...

Java 9 Dependency Injection: Write loosely coupled code with Spring 5 and Guice review



Create clean code with Dependency Injection principles

Key Features

  • Use DI to make your code loosely coupled to manage and test your applications easily on Spring 5 and Google Guice
  • Learn the best practices and methodologies to implement DI
  • Write more maintainable Java code by decoupling your objects from their implementations

Book Description

Dependency Injection (DI) is a design pattern that allows us to remove the hard-coded dependencies and make our application loosely coupled, extendable, and maintainable. We can implement DI to move the dependency resolution from compile-time to runtime. This book will be your one stop guide to write loosely coupled code using the latest features of Java 9 with frameworks such as Spring 5 and Google Guice.

We begin by explaining what DI is and teaching you about IoC containers. Then you’ll learn about object compositions and their role in DI. You’ll find out how to build a modular application and learn how to use DI to focus your efforts on the business logic unique to your application and let the framework handle the infrastructure work to put it all together.

Moving on, you’ll gain knowledge of Java 9’s new features and modular framework and how DI works in Java 9. Next, we’ll explore Spring and Guice, the popular frameworks for DI. You’ll see how to define injection keys and configure them at the framework-specific level. After that, you’ll find out about the different types of scopes available in both popular frameworks. You’ll see how to manage dependency of cross-cutting concerns while writing applications through aspect-oriented programming.

Towards the end, you’ll learn to integrate any third-party library in your DI-enabled application and explore common pitfalls and recommendations to build a solid application with the help of best practices, patterns, and anti-patterns in DI.

What you will learn

  • Understand the benefits of DI and fo from a tightly coupled design to a cleaner design organized around dependencies
  • See Java 9’s new features and modular framework
  • Set up Guice and Spring in an application so that it can be used for DI
  • Write integration tests for DI applications
  • Use scopes to handle complex application scenarios
  • Integrate any third-party library in your DI-enabled application
  • Implement Aspect-Oriented Programming to handle common cross-cutting concerns such as logging, authentication, and transactions
  • Understand IoC patterns and anti-patterns in DI

Who this book is for

This book is for Java developers who would like to implement DI in their application. Prior knowledge of the Spring and Guice frameworks and Java programming is assumed.

Table of Contents

  1. Why Dependency Injection?
  2. Dependency Injection in Java 9
  3. Dependency Injection with Spring
  4. Dependency Injection with Google Guice
  5. Scopes
  6. Aspect-Oriented Programming and Interceptors
  7. IoC Patterns and Best Practices




Read more...