Saturday, 8 July 2017

Spring Boot - Learning made easy by simple application

I hope, below mentioned plain-vanilla application would help you to quickly get started with Spring Boot and few supporting technologies/tools. Additionally, you may experiment Docker, Docker Compose and Pivotal Cloud Foundry, if not yet!
I am not writing step by step instructions again here, because README talks a lot @ https://github.com/tirthalpatel/Learning-Spring/tree/master/gs-spring-boot/gs-spring-boot-app

Learning Objectives

Try following with Spring Boot & run app by deploying on local machine / using docker compose / using docker / to pivotal cloud foundry.
  • Spring Boot + Spring Web (MVC and REST) + Thymeleaf (Template engine)
  • Spring Boot + Swagger UI (easily visualize and interact with the API’s resources)
  • Spring Boot + Properties customization
  • Spring Boot + Spring Data JPA + H2 Database + FlywayDB (deal with RDBMS)
  • Spring Boot + Spring Data REST + HAL browser (easy to build hypermedia-driven REST web services)
  • Spring Boot + Spring Data Redis (publish and subscribe to messages sent via Redis)
  • Spring Boot + Production-ready features of Spring Boot Actuator
  • Spring Boot + Hawtio (a lightweight web console to monitor and manage application)
  • Spring Boot + Developer Tools (for automatic restart, livereload support..)
  • Spring Boot + Lombok (a java annotation library to reduce boilerplate code)
  • Spring Boot + Testing (JUnit, Hemcrest, AssertJ, Mockito, Spring Test)

How to run the application?

Refer README for instructions to build, deploy and run application using below options. You must need Redis server for option 1, 2 and 3. For option 4, you don't need to set up Redis explicitly, as you can leverage Redis service from Pivotal CF marketplace.
  1. Using maven on local machine
  2. Using Docker Compose
  3. Using Docker
  4. Deploying to Pivotal Cloud Foundry (Cloud PaaS)

Sunday, 11 June 2017

Java power tools series - Executive diagram

I hope, you have already read "Preface" of my java power tools series.

In this blog, I just thought to publish my one of old mind mapping diagrams (not updated in last 2 years). I think, following java tools classification view should be effective and useful to others' for quick reference.

(Right click the image - Open in New Window - Zoom it)


Please share your experience in comment, if you have something to add / update with respect to following outlined java tools blueprint.


Disclaimer

I am not biased to particular free or commercial tools, rather my objective is about sharing my own experience on set of tools.