This part of the reference documentation explains the core functionality offered by Spring Dynamic Modules.
Chapter 5, OSGi 4.2 Blueprint Container describes the relationship between Spring DM and OSGi 4.2 Blueprint Container specification (part of the Compendium Services) and the similiarities and differences between them.
Chapter 6, Bundles and Application Contexts describes the relationship between an OSGi Bundle and a Spring Application Context, and introduces the Spring Extender Bundle support for instantiating application contexts automatically.
Chapter 7, Packaging and Deploying Spring-based OSGi applications describes how to deploy the Spring Framework jar files in an OSGi environment, and how to reference external APIs from your application bundles should you need to do so. This chapter also explains some of the issues to be aware of when using existing enterprise libraries not designed for OSGi in an OSGi environment.
Chapter 8, The Service Registry describes how to export Spring beans as services in the OSGi service registry, and how to inject references to OSGi services into beans. This chapter also defines how the dynamic life-cycle of OSGi services and bundles is supported.
Chapter 9, Working With Bundles describes how to declare a bean that represents an OSGi bundle, including support for installing new bundles into the OSGi platform.
Chapter 10, Web Support explains how to run web applications inside an OSGi environment using Spring DM.
Chapter 11, Compendium Services describes the support provided for the OSGi Compendium Services, specifically the Configuration Admin service.
Chapter 12, Testing OSGi based Applications explains the integration testing support provided by Spring Dynamic Modules. This support enables you to write simple JUnit integration tests that can start up an OSGi environment, install the bundles needed for the integration test, execute the test case(s) inside of OSGi, and return the results to the runner. This makes it easy to integrate OSGi integration testing into any environment that can work with JUnit.