I just announced the new Spring 5 modules in REST With Spring:
At the very beginning of last year, I decided to track my reading habits and share the best stuff here, on Baeldung. Haven’t missed a review since.
Here we go…
1. Spring and Java
A reactive system is an entirely different beast, and such a good fit for a small set of scenarios.
A great writeup to go through if you want to skate where the puck is going.
>> Java EE 8 in Crisis [xenonique.co.uk]
And since we’re talking about where we’re headed, the state and outlook of Java EE 8 is significant for the entire Java community and ecosystem.
>> How to implement a custom String-based sequence identifier generator with Hibernate [vladmihalcea.com]
A super practical, focused solution on generating String ids with Hibernate (which is actually something I wandered about in the past).
And, as always, Vlad’s picking his topics with the help and involvement of the community, which is a really a solid way to go about things. A cool resource.
>> How To Implement hashCode Correctly [codefx.org]
The next back-to-basics writeup after we had a look at equals last week. I knew this one was coming.
Real-world project configuration is never as easy as we might initially think.
Now – I’m not sure if a standard is the answer here, but the practical approach here looks interesting.
A high level piece about how to actually do exceptions well. It also reads well, I think Alex had some fun writing this one.
>> Should you use JPA for your next project? [thoughts-on-java.org]
Hibernate and JPA are certainly not a good fit for every type of project out there, but they’re a solid base for a lot of them. And if you really get to know the tool well, it can be surprising how far you can go.
This interactive writeup can be helpful in making the decision when you’re starting up a new project, or at least give you some context around that decision.
>> JDK 9 is not (yet) Feature Complete — how will we get there? [mail.openjdk.java.net]
Also worth reading:
>> Anti-If: The missing patterns [code.joejag.com]
>> @Stateful vs. @SessionScoped [adam-bien.com]
>> Carving the Java EE Monolith Into Microservices: Prefer Verticals Not Layers [christianposta.com]
>> How to intercept JDBC PreparedStatement calls with Hibernate [in.relation.to]
>> Benchmarking Java Logging Frameworks [dzone.com]
>> Gluon Announces Full Java 9 Mobile Initiative [infoq.com]
>> Oracle Code QA [code-cop.org]
>> The Roadmap to Kotlin 1.1 [infoq.com]
Webinars and presentations:
>> Adventures in 3D with Eclipse ICE and JavaFX [infoq.com]
Time to upgrade:
>> Spring Framework 4.3 goes GA [spring.io]
>> Spring Integration 4.3 GA is Available [spring.io]
>> Spring Cloud Brixton.SR1 is available [spring.io]
>> Spring Data release train Hopper SR2 released [spring.io]
>> Headlands Firehose Edition Is Available [adam-bien.com]
>> [ANN] Apache Tomcat 9.0.0.M8 available [mail-archives.us.apache.org]
>> Mutation Testing [cleancoder.com]
A good intro to mutation testing and also to a library that might be interesting to explore – pitest.
>> Serverless Architectures [martinfowler.com]
>> Serverless Reference Architectures with AWS Lambda [allthingsdistributed.com]
I don’t know much about this architectural style, and these writeups were a good way to get started.
Also worth reading:
>> Styles of unit testing [enterprisecraftsmanship.com]
>> Things I learned from doing my first workshop [swizec.com]
I like this writeup, mostly because it resonates with my own experiences, but also because I learn a lot from seeing other people leveling up and getting a glimpse into how they think. Good stuff.
>> Creating Your Code Review Checklist [daedtech.com]
Some good aspects to think about on your next code review.
>> Three Martini Open Office Plans [daedtech.com]
A fun exploration of whether or not open office plans make sense, from the POV of an outsider.
For me personally it’s been long enough since I last had the experience of trying to get work done in an open office, so I can half-laugh about it. But I very distinctly remember it wasn’t easy to pull off.
Also worth reading:
>> Closing shop [dandreamsofcoding.com] and >> Ownership [dandreamsofcoding.com]
>> Open sourcing my workshop: an experiment [ontestautomation.com]
And my favorite Dilberts of the week:
>> What do you think management is? [dilbert.com]
>> He’s wearing headphones, what do I do? [dilbert.com]
5. Pick of the Week
The “Hibernate Performance Tuning” course only opens up a few times a year, and the early-bird pricing only lasts until next Friday.
So, basically – if you want to level up in your understanding and command of Hibernate – definitely go through this material:
>> Hibernate Performance Tuning Online Training [thoughts-on-java.org]
If you’ve been reading Java Web Weekly for a while, you know that I very rarely pick products here. That’s simply because there aren’t too many solid courses to pick in our ecosystem. I know two of them that I feel comfortable picking here and sending out to twenty thousand readers.
This is one of the two, and I’ll definitely pick the other one when it gets close to being live.