Please note that applications can use a different version of Spring DM (and Spring framework) to the version used by the kernel. Presumably that's what you are trying to achieve. You can do this by replacing the version of Spring DM in repository/ext and fixing up the plan(s) that refer to it. However, we haven't tested running the user region on Spring DM 2.0 and I suspect it won't work because certain Virgo bundles need to run in the user region which probably require Spring DM 1.x.

Some people have also gotten blueprint running alongside Spring DM in the user region. If you are keen to base your apps on blueprint, that's probably a good approach. See here for details.

Alternatively, you could use Spring DM 1.2.1 which is already provided in the user region and then migrate to blueprint in the fulness of time (e.g. when Virgo provides it out of the box). In that case, I would only use a limited subset of the Spring DM function that has equivalents in blueprint. For instance, I would steer clear of custom namespace support as this is not supported by blueprint.