In my opinion... it is more usefull on a long term to use OSGI.
In the beginning there is some overhead to create small bundles...
But at the end... they are created, versionned, accessible remotly updatetable, ...
When I look the global cost of a project (from a to z)...
and if you are rigourus when creating small OSGI bundles... you are wining using OSGI vs DI framework like Spring.
--> bundles are more easilly testable, reusable, deployable, ...
So at the end... when you calculate the global cost of your project, you win using OSGI vs Spring.
And you architecture is more strong, more maintenable, ...
Of course... the project should not be a small project...
I'm speaking about serious enterprise projects...
Another benefit... when you will start a next project... lot of your bundles can/will be reused...
That is my opinion.... anyway... on a small project...
you should naturaly prefer using Spring DI...
But on the long term... with lot of small projects... OSGI give more benefit in my opinion.
Regards,
Stephane