Как вы уже догадались, это будет безопаснее для запуска Свинга кода в событий диспетчерские Темы аки EDT, потому что большинство компонентов Swing, не является поточно. Вот что указано в документах Oracle:
Код обработки событий Swing запускается по специальной теме, известной как событие . Большинство кода, который вызывает методы Swing, также работает на этой теме. Это необходимо, потому что большинство методов объекта Swing: не «потокобезопасный»: вызывать их из нескольких потоков, подвергая потоки ошибкам согласования помех или ошибок.
Таким образом, вы должны быть безопасными, чтобы пойти, если ваш initialiaze ваш SpringApplicationContext
Whithin нить EDT, так что ваши компоненты инициализируются и работать в одной и той же теме:
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new ClassPathXmlApplicationContext("your-application-context.xml"); // pay attention to context so that it is not left open
}
});
Try Http: // StackOverflow .com/questions/22864008/how-to-configure-spring-boot-with-swing-application – EpicPandaForce