One Thing Good Spring Developers Know

spring-interview-questions-answers

In my recent training sessions on the (core) Spring Framework, I was asked, “If there was one thing that a (Java) Spring developer should know, what should that be?” That question caught me off guard. Yes, the (core) Spring Framework does cover a lot of areas (e.g. beans, configuration, aspect-oriented programming, transactions). And it was difficult for me to point ...

Read More »

JPA Pitfalls / Mistakes

java-interview-questions-answers

From my experience, both in helping teams and conducting training, here are some pitfalls/mistakes I have encountered that caused some problems in Java-based systems that use JPA. Requiring a public no-arg constructor Always using bi-directional associations/relationships Using @OneToMany for collections that can become huge Requiring a Public No-arg Constructor Yes, a JPA @Entity requires a zero-arguments (or default no-args) constructor. ...

Read More »

Getting started with JavaParser: analyzing Java Code programmatically

One of the things I like the most is to parse code and to perform automatic operations on it. For this reason I started contributing to JavaParser and created a couple of related projects: java-symbol-solver and effectivejava. As a contributor of JavaParser I read over and over some very similar questions about extracting information from Java source code. For this reason I thought that I ...

Read More »

Definition of the Trait Pattern in Java

In this article I will present the concept of traits and give you a concrete example of how they can be used in Java to achieve less redundancy in your object design. I will begin by presenting a fictional case where traits could be used to reduce repetition and then finish with an example implementation of the trait pattern using ...

Read More »

The practice of reflection in action

In a previous article, I explained how the most essential agile practice is reflection. In this article, I outline examples how organisations, teams and people use reflection in action. Reflection through retrospectives Retrospectives are powerful tools that whole teams use to reflect on their current working practices to understand what they might do to continuously improve. As an author of ...

Read More »

Coupling in distributed systems

Coupling and cohesion are key quality indicators. We strive for systems highly cohesive and loosely coupled, but high doesn’t mean pure. The same goes with functional programming, we aim for isolating and reducing side effects, but we need them unless we want a useless system. It’s good to modularise our systems, so whenever those modules need to talk to each ...

Read More »

Advanced config with configuration meta-data in Spring Bootstrap

spring-interview-questions-answers

After a short introduction to configuration meta-data and covering the basics in my previous post called Pimp your config with configuration meta-data in Spring Boot, it is time to take a look at how to take this one step further and further customize the configuration. In this post, I plan to present deprecation of a configuration property and discuss various value ...

Read More »

Cassandra: The Foundation Big Data Building Block

As Chief Technology Officer and co-founder at Instaclustr, Ben sets the technical direction for the company, identifying new features and capability. Ben is located in our Redwood City office and he was recognized as an Apache Cassandra MVP at the Cassandra Summit in 2015. Ben is active in the community often speaking at local meetups and presenting at related conferences. ...

Read More »