Lots of interesting writeups on Java 9 this week.

Here we go…

1. Spring and Java

>> Introducing Spring Cloud Function [spring.io]

Spring has always adopted POJO-based approaches, now it’s time to focus on functional approaches. Spring Cloud is getting enhanced with a possibility of defining beans from function implementations – everything well integrated with Reactor.

>> How much projections can help? [blog.arnoldgalovics.com]

Using projection instead of entity-based fetching can significantly improve overall performance – which is not a surprise.

>> From Microservices to Service Blocks using Spring Cloud Function and AWS Lambda [kennybastani.com]

A practical look at Service Blocks using Spring Cloud Function and AWS Lambda. If you’re interested in seeing Spring Cloud Function in action – definitely have a look.

>> Scala vs Kotlin: Multiple Inheritance and the Diamond problem [blog.frankel.ch]

Scala and Kotlin have their own solutions to problems caused by multiple inheritance – worth having a look.

>> Mocking HTTP, Mockito style [specto.io]

When working with microservices, we often need to mock/stub HTTP endpoints – Hoverfly is one of the better tools for doing that.

>> Support for Java 9 in IntelliJ IDEA 2017.2 [jetbrains.com]

Java 9 will be (hopefully) released soon and IDE providers are coming up with new features for their tools – this time, we can have a look at new support in Intellij IDEA.

>> 5 Things You Need to Know When Using Hibernate with Mysql [thoughts-on-java.org]

Hibernate already supports most of the MySql’s features, but there are still a few things to remember that are not entirely abstracted away.

Also worth reading:

Webinars and presentations:

Time to upgrade:

2. Technical

>> Project Package Organization [dolszewski.com]

Package structure in Java projects is often neglected or applied mindlessly – here we can see a comparison of the two most popular approaches: package-by-layer vs. package-by-feature.

>> Converting Queries to Commands [michaelfeathers.silvrback.com]

Raising the abstraction level and passing commands to objects can result in better decoupling – and Java 8 Lambda Expressions make it much easier and concise.

Also worth reading:

3. Musings

>> How to Write Test Cases [daedtech.com]

There is no universal answer to this problem – pick one of the scientific methods, follow it, and use the best tools possible.

>> Why Expert Developers Still Make Mistakes [daedtech.com]

We should make mistakes – those expose lacks in our knowledge that we can eventually fix.

Also worth reading:

4. Comics

And my favorite Dilberts of the week:

>> Working sixty hours a week [dilbert.com]

>> You don’t take pride in your work [dilbert.com]

>> Leave early today [dilbert.com]

5. Pick of the Week

>> A Look at JUnit 5’s Core Features & New Testing Functionality [stackify.com]