ContextLoaderListerner, ContextLoader и XmlWebApplicationContext классы не несут ответственность за загрузку applicationContext.xml.
Пожалуйста, взгляните на их исходный код на git.
Вы найдете, что ContextLoaderListerner распространяется ContexLoader.
В документации ContextLoader, они отметили, что:
* If not explicitly specified, the context implementation is supposed to use a
* default location (with XmlWebApplicationContext: "/WEB-INF/applicationContext.xml").
И это значение упоминается в XmlWebApplicationContext следующим образом (с другими постоянными значениями, если вы нуждаетесь в них):
/** Default config location for the root context */
public static final String DEFAULT_CONFIG_LOCATION = "/WEB-INF/applicationContext.xml";
/** Default prefix for building a config location for a namespace */
public static final String DEFAULT_CONFIG_LOCATION_PREFIX = "/WEB-INF/";
/** Default suffix for building a config location for a namespace */
public static final String DEFAULT_CONFIG_LOCATION_SUFFIX = ".xml";
И это является причиной того, что файл applicationContext.xml загружается, хотя он не настроен в файле web.xml. Вам понадобится некоторое время, чтобы понять все эти конфигурации по умолчанию (магия), используемые Spring.
... возможно, org.springframework.web.context.ContextLoaderListener? Очень неясно, что вы действительно спрашиваете здесь, почему вас это волнует? – Gimby
Возможный дубликат [Где точное местоположение файла конфигурации spring и web.xml?] (Http://stackoverflow.com/questions/17444410/where-is-the-exact-location-of-spring-config-file и-веб-XML) –