Everytime you have to create a java bean it is boring to generate getters and setters, override toString, equals and hashcode.
When I was learning scala, the first thing I appreciated is that getters and setters for private attributes are implicitly declared. I asked myself why they didn't do something like that in java, why we must each time declare getters and setters.
Yesterday I discovered the lombok library which does exactly what I was expecting.
I let you see what magic trick they have done
Recommended books :