enforce loading spring beans with default-lazy-init=true

  • Download Gist
LazyBeanDefinitionDocumentReader.java
Java
1 2 3 4 5 6 7 8 9
public class LazyBeanDefinitionDocumentReader extends DefaultBeanDefinitionDocumentReader {
 
@Override
protected BeanDefinitionParserDelegate createHelper(XmlReaderContext readerContext, Element root, BeanDefinitionParserDelegate parentDelegate) {
root.setAttribute("default-lazy-init", "true");
BeanDefinitionParserDelegate delegate = super.createHelper(readerContext, root, parentDelegate);
return delegate;
}
}
LazyClassPathXmlApplicationContext.java
Java
1 2 3 4 5 6 7 8 9 10 11 12
public class LazyClassPathXmlApplicationContext extends ClassPathXmlApplicationContext {
 
public LazyClassPathXmlApplicationContext(String path) throws BeansException {
super(path);
}
 
@Override
protected void initBeanDefinitionReader(XmlBeanDefinitionReader reader) {
super.initBeanDefinitionReader(reader);
reader.setDocumentReaderClass(LazyBeanDefinitionDocumentReader.class);
}
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.