Boolean getLazyInit accessor indicating no explicit flag set
Closes gh-22694
This commit is contained in:
@@ -2353,6 +2353,27 @@ public class DefaultListableBeanFactoryTests {
|
||||
lbf.preInstantiateSingletons();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLazyInitFlag() {
|
||||
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition bd1 = new RootBeanDefinition(TestBean.class);
|
||||
bd1.setLazyInit(true);
|
||||
factory.registerBeanDefinition("tb1", bd1);
|
||||
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
||||
bd2.setLazyInit(false);
|
||||
factory.registerBeanDefinition("tb2", bd2);
|
||||
factory.registerBeanDefinition("tb3", new RootBeanDefinition(TestBean.class));
|
||||
|
||||
assertEquals(Boolean.TRUE, ((AbstractBeanDefinition) factory.getMergedBeanDefinition("tb1")).getLazyInit());
|
||||
assertEquals(Boolean.FALSE, ((AbstractBeanDefinition) factory.getMergedBeanDefinition("tb2")).getLazyInit());
|
||||
assertNull(((AbstractBeanDefinition) factory.getMergedBeanDefinition("tb3")).getLazyInit());
|
||||
|
||||
factory.preInstantiateSingletons();
|
||||
assertFalse(factory.containsSingleton("tb1"));
|
||||
assertTrue(factory.containsSingleton("tb2"));
|
||||
assertTrue(factory.containsSingleton("tb3"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLazyInitFactory() {
|
||||
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
||||
@@ -2877,8 +2898,8 @@ public class DefaultListableBeanFactoryTests {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
public void testInitSecurityAwarePrototypeBean() {
|
||||
final DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();
|
||||
RootBeanDefinition bd = new RootBeanDefinition(TestSecuredBean.class);
|
||||
@@ -2889,12 +2910,7 @@ public class DefaultListableBeanFactoryTests {
|
||||
subject.getPrincipals().add(new TestPrincipal("user1"));
|
||||
|
||||
TestSecuredBean bean = (TestSecuredBean) Subject.doAsPrivileged(subject,
|
||||
new PrivilegedAction() {
|
||||
@Override
|
||||
public Object run() {
|
||||
return lbf.getBean("test");
|
||||
}
|
||||
}, null);
|
||||
(PrivilegedAction) () -> lbf.getBean("test"), null);
|
||||
assertNotNull(bean);
|
||||
assertEquals("user1", bean.getUserName());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user