В не-веб-приложениях мы используем Classpath, fileSystem или другие реализации ApplicationContext.В веб-приложении, если мы реализуем Java-конфигурацию, мы делаем это следующим образом.
@Override
public void onStartup(ServletContext servletCxt) {
// Load Spring web application configuration
AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
ac.register(AppConfig.class);
ac.refresh();
Но когда мы загружаем контекст приложения xml с помощью ContextLoaderListner , что является внутренней реализацией.
Надеюсь, я все понял.