@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof JobSupport) { ((JobSupport) bean).setName("bar"); } return bean; }
@Test public void testBeanNameWithParentBeanDefinition() throws Exception { GenericApplicationContext context = new GenericApplicationContext(); ConstructorArgumentValues args = new ConstructorArgumentValues(); args.addGenericArgumentValue("bar"); context.registerBeanDefinition("parent", new RootBeanDefinition( JobSupport.class, args, null)); context.registerBeanDefinition("bean", new ChildBeanDefinition("parent")); context.refresh(); JobSupport configuration = (JobSupport) context .getBean("bean"); assertNotNull(configuration.getName()); assertEquals("bar", configuration.getName()); configuration.setBeanName("foo"); assertEquals("bar", configuration.getName()); configuration.setName("foo"); assertEquals("foo", configuration.getName()); context.close(); } }