Spring BeanClassLoaderAware Example
October 29, 2021
On this page we will learn Spring BeanClassLoaderAware
interface. The BeanClassLoaderAware
allows a bean to be aware of the bean class loader used by present BeanFactory
to load bean classes.
The
BeanClassLoaderAware
has following method.
void setBeanClassLoader(ClassLoader classLoader)
Implement BeanClassLoaderAware Interface
A.javapackage com.concretepage; import org.springframework.beans.factory.BeanClassLoaderAware; public class A implements BeanClassLoaderAware { public A(){ System.out.println("Bean A is Initialized."); } @Override public void setBeanClassLoader(ClassLoader classLoader) { System.out.println("parent class loader:"+classLoader.getParent()); } }
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd "> <bean id="testA" class="com.concretepage.A"/> </beans>
package com.concretepage; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class SpringTest { public static void main(String[] args) { AbstractApplicationContext context = new ClassPathXmlApplicationContext("app-conf.xml"); context.registerShutdownHook(); } }
Bean A is Initialized. parent class loader:sun.misc.Launcher$ExtClassLoader@4aad3ba4