newToSpring,
As I said, my code was a hack, and it should be avoided whenever you can. Now, what I am trying to explain is how to minimize the refactoring needed to make your existing code integrate with Spring IoC.
1. should i make the singleton a member of the Mgr Bean and define it as part of the Mgr Bean definition
This seems to be an excellent choice. However, If objects created by your singleton are POJOs, you have better to configure them inside your application.xml and add respective properties to your MgrBean.
2. can i access a getInstance static method on the Class of the Singleton
You can configure MyBeanprovider inside your applicationContext using factory-method. Spring has build-in support for such case:
Code:
<bean id="myBean"
class="MyBeanProvider"
factory-method="getInstance"/>
You can also specify if Spring should manage this been as a prototype or singleton.
Beans that are managed by Spring need to declare a reference to myBean, while classes that do not have access to your application context can use MyBeanProvider.getInstance().
Since you are loading the applicationContext using ContextLoaderListener/ ContextLoaderServlet, there should be no problem with a class calling MyBeanProvider.getInstance() before the ApplicationContext has been injected by Spring inside it. You should however pay attention to using MyBeanprovide outside of a web application.
HTH