The main driver for a Spring Rich Client application.
This class displays a configurable splash screen and launches a rich client {@link Application}. Both the splash screen and the application to be launched are expected to be defined as beans, under the names {@link #SPLASH_SCREEN_BEAN_ID} and {@link #APPLICATION_BEAN_ID}respectively, in one of the application contexts provided to the constructor.
For quick loading and display of the splash screen while the rest of the application is being initialized, constructors are provided that take a separate startup context. The startup context will be searched for the {@link #SPLASH_SCREEN_BEAN_ID} bean, which will then be displayed before themain application context is loaded and the application launched. If no startup context is provided or it doesn't contain an appropriately named splash screen bean, an attempt will be made to load a splash screen from the main application context. This can only happen after the main application context has been loaded in its entirety so it is not the recommended approach for displaying a splash screen.
@author Keith Donald
@see Application