For the latest stable version, please use Spring Shell 3.3.1!

Registration

There are two different ways to define a command: through an annotation model and through a programmatic model. In the annotation model, you define your methods in a class and annotate the class and the methods with specific annotations. In the programmatic model, you use a more low level approach, defining command registrations (either as beans or by dynamically registering with a command catalog).

Starting from 3.1.x a better support for defining commands using annotations were added. Firstly because eventually standard package providing legacy annotations will get deprecated and removed. Secondly so that we’re able to provide same set of features than using underlying CommandRegistration. Creating new a annotation model allows us to rethink and modernise that part without breaking existing applications.