At the very beginning of 2014 I decided to start better documenting my reading habits and sharing them here with all of you.

The point is two fold – by curating and documenting, my reading has become more purposeful and diverse. Also – I believe that curation of good content brings a lot of value, helps people explore and allows the best stuff to raise to the top.

Hopefully you’ll enjoy these as we move in the latter half of 2014.

Here we go…

1. Java and Spring

>> How to customize Hibernate dirty checking mechanism

Last week the series went into the dirty checking mechanism that Hibernate provides; this week it’s an even deeper look into that – performing the check manually or using other custom approaches.

>> How to Inject Objects Into Spring MVC Controller Using HandlerMethodArgumentResolver

An advanced but very useful usecase – injecting a custom object into your Controller layer methods. I’ve been doing this whenever I find that I regularly need to access something and it’s quite convenient.

>> URL shortener service in 42 lines of code in… Java (?!) Spring Boot + Redis

This quick exercise is a cool Fizz Buzz test – an URL shortener in various languages. This one is done with Java, Spring Boot and Redis; there’s a cool Clojure example linked from there as well – check that out if you’re into Clojure.

>> Spring MVC endpoint documentation with Spring Boot

REST API documentation (there’s a contradiction in terms for you) – is a topic that’s near and dear to me, so I’ve been doing some reading on the topic. Here’s a way to do it via Spring Boot – no longer with a third party tool like I talked about in previous weekly reviews.

Finally, the usual suspects – Spring releases:

2. Technical

>> MaturityModel

Maturity Models have gotten a bad name – here’s a positive outlook on how they can help you learn and grow.

>> MicroservicePrerequisites

Microservices are all the rage right now – everybody and their mother are jumping on and implementing a microservice. Sometimes that’s a good way to go and – like everything else – sometimes it’s not. A couple of weeks ago I linked to this really good and honest review of a team that has failed doing microservices – and learned a bunch of things along the way.

So – if you’re planning to use this pattern in your next project, or perhaps you’re in the middle of implementation right now (like I am) – do yourself a favor and read these pieces from people that have actually done this and learned from the experience.

I thought this series was mostly wrapped up – it isn’t (I’m still catching up):

3. Musings

>> Breaking Free of the Golden Handcuffs

Another one from Erik about leaving a high paying job. The passive income track is definitely something that will hit home with a lot of people and it’s the part that I found the most interesting bit of the article.

>> 5 Things I Do to Stay Relevant

We’re all getting older – even if you may not really believe that 🙂 – and keeping your skills sharp is probably the most important thing you can do, period.

As engineers, we love to learn and keep on learning. At the end of the day, it’s natural curiosity and the willingness to learn and experiment that got us into engineering in the first place.

This article is a good reference for staying up to date and keeping the learning fire alive.

>> Let Code Flow Towards Better Design

Insights into design from someone I have a lot of respect for – go read this one.

4. Comics

Next batch of XKCD genius coming up:

>> Kilobyte

>> Academia vs. Business

>> Compiler Complaint

Baeldung Pro – NPI EA (cat = Baeldung)
announcement - icon

Baeldung Pro comes with both absolutely No-Ads as well as finally with Dark Mode, for a clean learning experience:

>> Explore a clean Baeldung

Once the early-adopter seats are all used, the price will go up and stay at $33/year.

eBook – HTTP Client – NPI EA (cat=HTTP Client-Side)
announcement - icon

The Apache HTTP Client is a very robust library, suitable for both simple and advanced use cases when testing HTTP endpoints. Check out our guide covering basic request and response handling, as well as security, cookies, timeouts, and more:

>> Download the eBook

eBook – Java Concurrency – NPI EA (cat=Java Concurrency)
announcement - icon

Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.

Get started with understanding multi-threaded applications with our Java Concurrency guide:

>> Download the eBook

eBook – Java Streams – NPI EA (cat=Java Streams)
announcement - icon

Since its introduction in Java 8, the Stream API has become a staple of Java development. The basic operations like iterating, filtering, mapping sequences of elements are deceptively simple to use.

But these can also be overused and fall into some common pitfalls.

To get a better understanding on how Streams work and how to combine them with other language features, check out our guide to Java Streams:

>> Join Pro and download the eBook

Course – LS – NPI EA (cat=REST)

announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:

>> CHECK OUT THE COURSE

Partner – Moderne – NPI EA (tag=Refactoring)
announcement - icon

Modern Java teams move fast — but codebases don’t always keep up. Frameworks change, dependencies drift, and tech debt builds until it starts to drag on delivery. OpenRewrite was built to fix that: an open-source refactoring engine that automates repetitive code changes while keeping developer intent intact.

The monthly training series, led by the creators and maintainers of OpenRewrite at Moderne, walks through real-world migrations and modernization patterns. Whether you’re new to recipes or ready to write your own, you’ll learn practical ways to refactor safely and at scale.

If you’ve ever wished refactoring felt as natural — and as fast — as writing code, this is a good place to start.