Open sourceActive

Spring Framework

Java framework whose IoC container manages beans and dependency injection.

Open source page

Field note

What it does

The Spring Framework IoC container is based on the org.springframework.beans and org.springframework.context packages, with BeanFactory and ApplicationContext.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

Java / org.springframework:spring-framework-bom

sdk

Java / org.springframework:spring-core

sdk

Java / org.springframework:spring-core

other

Not filed / Not filed

other

Not filed / Not filed

other

Not filed / Not filed

other

Not filed / Not filed

other

Not filed / Not filed

Product features

Product features

Annotation-based Container Configuration

Configure the container using annotations.

Annotation-based Configuration

Define beans using annotation-based configuration metadata on component classes.

AOT Processing

Ahead-of-time processing support in Core.

AOT Processing

Ahead-of-time processing to optimize applications, typically for GraalVM native image deployment.

ApplicationContext

Sub-interface of BeanFactory adding enterprise-specific functionality.

AspectJ Integration

Integration with AspectJ, described as the richest and most mature AOP implementation.

Autowiring

Mechanism to accomplish bean dependencies without explicit ref elements.

Bean Definition

Metadata describing class, behavior, collaborators, and settings of a bean.

Bean Overriding

Registering a bean with an already allocated identifier; to be deprecated.

Bean Overview

Overview of beans managed by the container.

Bean Scopes

Covers supported bean scopes.

BeanFactory

Advanced configuration mechanism capable of managing any type of object.

The BeanFactory API

The underlying bean container API.

Beans

Objects instantiated, assembled, and managed by a Spring IoC container.

c-namespace

XML shortcut for constructor argument values using the c namespace.

Classpath Scanning and Managed Components

Scan the classpath for managed components.

Collection Merging

Merging collections from parent and child bean definitions.

Configuration Metadata

Reflects beans and the dependencies among them.

Constructor Argument Resolution

Matching by argument type, index, or constructor parameter name.

Constructor-based Dependency Injection

Container invokes a constructor with arguments, each representing a dependency.

Data Binding and Validation

Binding and validating data, with type conversion support.

default-lazy-init

Sets lazy initialization for all beans via @Lazy on @Configuration or the XML attribute.

Dependencies and Configuration in Detail

Detailed configuration of bean dependencies.

depends-on

Attribute or @DependsOn annotation forcing beans to initialize before the dependent bean.

idref Element

Error-proof way to pass the id of another bean to a constructor-arg or property element.

Inner Beans

Beans defined inline within property or constructor-arg elements.

Instantiating Beans

Beans instantiated via constructor, static factory method, or instance factory method.

IoC Container

Core container managing beans and their dependencies.

Java-based Container Configuration

Configure the container using Java classes.

Java-based Configuration

Define beans external to application classes using @Configuration and @Bean.

Java Configuration

@Bean methods silently override scanned beans with matching component name.

Kotlin Support

Language support for Kotlin and Groovy.

@Lazy Annotation

Marks a bean definition as lazy-initialized so the container creates it on first request.

lazy-init XML Attribute

XML attribute on <bean/> controlling lazy initialization.

Lazy-initialized Beans

Beans initialized on demand rather than at startup.

Method Injection

Inject dependencies via method injection.

Naming Beans

Each bean has one or more unique identifiers; extras are aliases.

p-namespace

XML shortcut for property values using the p namespace.

ref Element

Sets a property to a reference to another bean managed by the container.

Register Singleton

DefaultListableBeanFactory registers existing singletons via registerSingleton(..).

Setter-based Dependency Injection

Dependencies are set on the object instance via properties after construction.

Spring Expression Language

Expression language for querying and manipulating objects at runtime.

Spring AOP Framework

Spring's own AOP framework addressing common Java enterprise AOP requirements.

Spring Framework Documentation

Spring MVC

Servlet-based web framework.

Spring WebFlux

Reactive web framework.

TestContext Framework

Testing support with mock objects and Spring MVC Test.

Testing Support

Mock objects, TestContext Framework, Spring MVC Test, WebTestClient.

Transaction Management

Data access transaction support.

Spring WebFlux

Reactive web framework.

XML Configuration

XML-based metadata configures beans as <bean/> elements inside <beans/>.