Why SpringBoot?

Spring is a very popular Java-based framework for building web and enterprise applications. Unlike many other frameworks which focus on only one area, the Spring framework provides a wide variety of features addressing modern business needs via its portfolio of projects.

Spring framework provides the flexibility to configure beans in multiple ways, such as XML, Annotations, and JavaConfig. As the number of features increased, the complexity also increased, and configuring Spring applications became tedious and error-prone.

Retrying Method Execution using Spring AOP

One of my blog followers sent an email asking me to show an example of “Real-World Usage of Spring AOP”. He mentioned that in most examples, the usage of Spring AOP is demonstrated for logging method entry/exit, Transaction management, or Security checks. He wanted to know how Spring AOP is being used in “Real Projects for Real Problems”.

So I would like to show how I have used Spring AOP in one of my projects to handle a real problem.

A Developers Perspective on Spring vs JavaEE

In the Java community, Spring vs. JavaEE is a never-ending debate. In such debates, people form two groups consisting of evangelists, architects, and hardcore fans of one platform and debate endlessly. Those who participate in the debates may be architects who are responsible for platform selection. But what would developers think about this Spring vs. JavaEE debate?

I am a Java developer who uses both Spring and JavaEE, and I am not part of the Spring or JavaEE fan club. Here, I would like to share my own thoughts on this epic Spring vs. JavaEE debate.

A bunch of Maven Archetypes for Spring based Projects

Maven is a good project management tool that greatly reduces the amount of time we spend creating Java projects with a proper structure. With so many predefined Maven archetypes, it is even easier to create projects by simply selecting the archetype based on the technologies we need and the type (jar/war/ear) of project we want to create.

However, sometimes those predefined archetypes’ structures may not suit our needs well, or we may need some more additions to the pre-configured dependencies/frameworks, etc.