Be it DVCS workflows, JSON transformations, or blogging frameworks, I always favor tools that allow me to use the terminal.

I’ve recently started using Spring Shell for rapidly experimenting with consuming data from a series of APIs I had created.

I have become allergic to XML configuration for Spring applications in recent times, so I was disappointed to see a lack of support for Java configuration within Spring Shell.

However, I did find a JIRA issue tracking the feature request. The ticket creator had even submitted a pull request with a potential solution. However, Spring Shell lead Mark Pollack responded that the feature could be provided in a simpler manner and even provided guidance to the solution.

Implementing this solution seemed quite straightforward, so I gave it a go and it turned out well.

I’ve submitted the following pull request to the Spring Shell GitHub repository: SHL-106: Java Configuration support #66

The pull request detailed:

  • Updated Bootstrap.java to accept basePackages String varargs and to include them in ClassPathBeanDefinitionScanner scan
  • Updated sample HelloWorld project to demonstrate mixing XML and Java Configuration
  • Updated docbook-reference-plugin dependency group ID and version (needed to get my gradle build working)

This was my first pull request submission for a Spring project (albeit still awaiting approval). I was very happy to “give a little back” finally!