# Spring API Extension Point and Listener List
Overview of Extension Points and Listeners for Spring API.
**Product-Specific Plugin Development**: [](spring_api.md)
> See [](intellij_platform_extension_point_list.md) for IntelliJ Platform.
> Spring API Extension Points and Listeners are available in the Spring-related plugins,
> which are available in [](idea_ultimate.md) only.
>
{style="note"}
58 Extension Points and 6 Listeners
## Spring
### Spring – Listeners
| Topic | Listener |
|-------|----------|
| [`SpringFileSetService#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.facet.SpringFileSetService.SpringFileSetListener) | `SpringFileSetListener` |
| [`SpringBeansViewSettings#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.toolWindow.SpringBeansViewSettings.Listener) | `Listener` |
### com.intellij.spring
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringAutodetectedFilesetsSearcher` |
| | `SpringAutodetectedModelsSearcher` |
| | `BeanClassLineMarker` |
| | `SpringBeanStereotype` |
| | `ComponentScanExtender` |
| | `ConditionalEvaluatorProvider` |
| | `ConfigSearcherScopeModifier` |
| | `SpringConfigurator` |
| | `SpringCustomBeanScope` |
| | `Provider` |
| | `CustomLocalComponentsDiscoverer` |
| | `CustomModuleComponentsDiscoverer` |
| | `SpringCustomNamespaces` |
| | `SpringBeanEffectiveTypeProvider` |
| | `CustomFactoryMethodTypeHandler` |
| | `SpringFileSetEditorCustomization` |
| | `AdditionalFilesContributor` |
| | `Contributor` |
| | `n/a` |
| | `LocalAnnotationModelDependentModelsProvider` |
| | `SpringLocalModelProducer` |
| | `SpringPlaceholderReferenceResolver` |
| | `SpringResourceTypeProvider` |
| | `ScriptBeanPsiClassDiscoverer` |
| | `SpringSettingsProvider` |
| | `SpringTemplateProvider` |
| | `SpringTestingAnnotationsProvider` |
| | `SpringTestingImplicitContextsProvider` |
| | `SpringValueConvertersProvider` |
### intellij.spring.el.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringElContextsExtension` |
| | `SpringElInjectionContext` |
### intellij.spring.graph.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringGutterDiagramActionProvider` |
## Spring Boot Plugin
### Spring Boot Plugin – Listeners
| Topic | Listener |
|-------|----------|
| [`SpringBootEndpointsTabSettings#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.boot.run.lifecycle.tabs.SpringBootEndpointsTabSettings.Listener) | `Listener` |
### com.intellij.spring.boot
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringBootConfigFileDetector` |
| | `SpringBootCustomHintReferenceProvider` |
| | `SpringBootLanguageSpecificBridge` |
| | `ConditionalContributor` |
| | `SpringBootModelConfigFileContributor` |
| | `SpringBootModelConfigFileNameContributor` |
| | `SpringBootModelExtender` |
| | `SpringBootReplacementTokenResolver` |
### intellij.spring.boot.mvc.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `TemplateAvailabilityProvider` |
### intellij.spring.boot.run.xml
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringBootApplicationUpdatePolicy` |
| | `SpringBootApplicationUrlPathProviderFactory` |
| ![Experimental][experimental] | `Endpoint` |
| ![Project-Level][project-level] | `EndpointTabConfigurable` |
| | `LiveBeansPanelContent` |
| | `SpringBootRuntimeApplicationProvider` |
## Spring Data Plugin
### Spring Data Plugin – Listeners
| Topic | Listener |
|-------|----------|
| [`SpringRepositoriesViewSettings#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.data.commons.view.SpringRepositoriesViewSettings.Listener) | `Listener` |
## Spring Debugger Plugin
### Spring Debugger Plugin – Listeners
| Topic | Listener |
|-------|----------|
| [`SpringDebugModelListener.Companion#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.debugger.model.SpringDebugModelListener) | `SpringDebugModelListener` |
### com.intellij.spring.debugger
| Extension Point | Implementation |
|-----------------|----------------|
| ![Internal][internal] | `SpringConfigFileCodeVisionInfoProvider` |
| | `SpringDebuggerRunConfigurationExtender` |
| | `SpringDebuggerSessionListener` |
## Spring GraphQL Plugin
### com.intellij.spring.graphql
| Extension Point | Implementation |
|-----------------|----------------|
| | `GraphQLApplicationPathProvider` |
## Spring Messaging Plugin
### com.intellij.spring.messaging
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringMessagingUrlProvider` |
## Spring Security Plugin
### com.intellij.spring.security
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringSecurityRolesProvider` |
## Spring Web Plugin
### Spring Web Plugin – Listeners
| Topic | Listener |
|-------|----------|
| [`SpringMvcViewSettings#TOPIC`](https://jb.gg/ipe/listeners?topics=com.intellij.spring.mvc.toolwindow.SpringMvcViewSettings.Listener) | `Listener` |
### com.intellij.spring.mvc
| Extension Point | Implementation |
|-----------------|----------------|
| | `SpringApplicationPathProvider` |
| | `ControllerParameterProvider` |
| | `SpringMergingMvcRequestMappingLineMarkerProvider` |
| | `SpringEndpointsIconProvider` |
| | `ViewResolverFactory` |
[deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square
[removal]: https://img.shields.io/badge/-Removal-red?style=flat-square
[obsolete]: https://img.shields.io/badge/-Obsolete-grey?style=flat-square
[experimental]: https://img.shields.io/badge/-Experimental-violet?style=flat-square
[internal]: https://img.shields.io/badge/-Internal-darkred?style=flat-square
[project-level]: https://img.shields.io/badge/-Project--Level-blue?style=flat-square
[non-dynamic]: https://img.shields.io/badge/-Non--Dynamic-orange?style=flat-square
[dumb-aware]: https://img.shields.io/badge/-DumbAware-darkgreen?style=flat-square