You need to use beanNames when referring to objects. According to the MBeanExporter#setBeans javadoc:
To fix this change:
will be resolved as beans in the current factory, respecting lazy-init markers (that is, not triggering initialization of such beans).
This is because the map reference to a bean automatically instantiates it. This is done before the MBeanExporter does it magic with lazy-init.