Browse Source

Introduce tests for gh-28083

pull/27953/head
Vikey Chen 3 years ago committed by Sam Brannen
parent
commit
af14eea1ef
  1. 49
      spring-context/src/test/java/org/springframework/context/annotation/Spr3775InitDestroyLifecycleTests.java

49
spring-context/src/test/java/org/springframework/context/annotation/Spr3775InitDestroyLifecycleTests.java

@ -149,6 +149,30 @@ public class Spr3775InitDestroyLifecycleTests { @@ -149,6 +149,30 @@ public class Spr3775InitDestroyLifecycleTests {
bean.destroyMethods);
}
@Test
public void testJsr250AnnotationsWithCustomPrivateInitDestroyMethods() {
Class<?> beanClass = CustomAnnotatedPrivateInitDestroyBean.class;
DefaultListableBeanFactory beanFactory = createBeanFactoryAndRegisterBean(beanClass, "customInit1", "customDestroy1");
CustomAnnotatedPrivateInitDestroyBean bean =
(CustomAnnotatedPrivateInitDestroyBean) beanFactory.getBean(LIFECYCLE_TEST_BEAN);
assertMethodOrdering("init-methods", Arrays.asList("privateCustomInit1","afterPropertiesSet"), bean.initMethods);
beanFactory.destroySingletons();
assertMethodOrdering("destroy-methods", Arrays.asList("privateCustomDestroy1","destroy"), bean.destroyMethods);
}
@Test
public void testJsr250AnnotationsWithCustomSameMethodNames() {
Class<?> beanClass = CustomAnnotatedPrivateSameNameInitDestroyBean.class;
DefaultListableBeanFactory beanFactory = createBeanFactoryAndRegisterBean(beanClass, "customInit1", "customDestroy1");
CustomAnnotatedPrivateSameNameInitDestroyBean bean =
(CustomAnnotatedPrivateSameNameInitDestroyBean) beanFactory.getBean(LIFECYCLE_TEST_BEAN);
assertMethodOrdering("init-methods",
Arrays.asList("privateCustomInit1","afterPropertiesSet","sameNameCustomInit1"), bean.initMethods);
beanFactory.destroySingletons();
assertMethodOrdering("destroy-methods",
Arrays.asList("privateCustomDestroy1","destroy","sameNameCustomDestroy1"), bean.destroyMethods);
}
@Test
public void testAllLifecycleMechanismsAtOnce() {
final Class<?> beanClass = AllInOneBean.class;
@ -205,6 +229,31 @@ public class Spr3775InitDestroyLifecycleTests { @@ -205,6 +229,31 @@ public class Spr3775InitDestroyLifecycleTests {
}
}
public static class CustomAnnotatedPrivateInitDestroyBean extends CustomInitializingDisposableBean{
@PostConstruct
private void customInit1() throws Exception {
this.initMethods.add("privateCustomInit1");
}
@PreDestroy
private void customDestroy1() throws Exception {
this.destroyMethods.add("privateCustomDestroy1");
}
}
public static class CustomAnnotatedPrivateSameNameInitDestroyBean extends CustomAnnotatedPrivateInitDestroyBean {
private void customInit1() throws Exception {
this.initMethods.add("sameNameCustomInit1");
}
private void customDestroy1() throws Exception {
this.destroyMethods.add("sameNameCustomDestroy1");
}
}
public static class CustomInitializingDisposableBean extends CustomInitDestroyBean
implements InitializingBean, DisposableBean {

Loading…
Cancel
Save