When you have the need of caching that’s a quite common topic, you can find many out-of-the-box solutions.
But what if if you want to cache whole class, with all the methods, maybe across your whole application?
My solution based on a proxy class and this way applies cache on all method invocations. The cache configuration of course can be defined, but the basics can be seen in the example below: