mcfb.setTargetMethod("method1"); mcfb.afterPropertiesSet(); Integer i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); mcfb.setSingleton(false); mcfb.afterPropertiesSet(); i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); i = (Integer) mcfb.getObject(); assertEquals(2, i.intValue()); mcfb.setTargetMethod("staticMethod1"); mcfb.afterPropertiesSet(); i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); mcfb.setSingleton(false); mcfb.afterPropertiesSet(); i = (Integer) mcfb.getObject(); assertEquals(1, i.intValue()); i = (Integer) mcfb.getObject(); assertEquals(2, i.intValue()); mcfb.setTargetMethod("voidRetvalMethod");