Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Spring

NuGet Package: NServiceBus.Spring (8.x)
Target Version: NServiceBus 7.x

NServiceBus can be configured to use Spring for dependency injection.

Default usage

endpointConfiguration.UseContainer<SpringBuilder>();

Using an existing context

var applicationContext = new GenericApplicationContext();
applicationContext.ObjectFactory
    .RegisterSingleton("MyService", new MyService());
endpointConfiguration.UseContainer<SpringBuilder>(
    customizations: customizations =>
    {
        customizations.ExistingApplicationContext(applicationContext);
    });

DependencyLifecycle Mapping

The NServiceBus dependency lifecycle modes do not map directly to Spring object scopes. Almost all of the lifecycle modes have been implemented using custom type registrations using a Spring GenericApplicationContext.

Property Injection

This dependency injection container adapter automatically enables property injection for known types. Use the Func overload of .ConfigureComponent to get full control over the injected properties if needed.

Samples