Не существует стандартного способа хранения информации о конфигурации приложения, такой как вы описали. Однако большую часть времени вы сохраняете его в классе, специфичном для задания (ApplicationContext), а затем экземпляр передается в другие классы в качестве параметров или в конструкторе или что-то в этом роде. Я обычно делаю ApplicationContext неизменным.
Некоторые приложения, с которыми я сталкивался, используют статический глобальный контекст, фактически глобальную переменную. Это не обязательно хорошая идея, по той же причине, по которой вам следует избегать глобальных переменных.
Однако я бы сказал, что вы всегда должны проверять, что параметры командной строки действительны заранее. Вы не хотите выполнять 3 часа обработки, а затем узнаете, что кто-то неправильно настроил адрес электронной почты в командной строке. Это должна быть безотказная ситуация.