/*
 * Copyright 2002-2017 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.beans.factory;

Callback that allows a bean to be aware of the bean class loader; that is, the class loader used by the present bean factory to load bean classes.

This is mainly intended to be implemented by framework classes which have to pick up application classes by name despite themselves potentially being loaded from a shared class loader.

For a list of all bean lifecycle methods, see the BeanFactory javadocs.

Author:Juergen Hoeller, Chris Beams
See Also:
Since:2.0
/** * Callback that allows a bean to be aware of the bean * {@link ClassLoader class loader}; that is, the class loader used by the * present bean factory to load bean classes. * * <p>This is mainly intended to be implemented by framework classes which * have to pick up application classes by name despite themselves potentially * being loaded from a shared class loader. * * <p>For a list of all bean lifecycle methods, see the * {@link BeanFactory BeanFactory javadocs}. * * @author Juergen Hoeller * @author Chris Beams * @since 2.0 * @see BeanNameAware * @see BeanFactoryAware * @see InitializingBean */
public interface BeanClassLoaderAware extends Aware {
Callback that supplies the bean class loader to a bean instance.

Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean's InitializingBean.afterPropertiesSet() method or a custom init-method.

Params:
  • classLoader – the owning class loader
/** * Callback that supplies the bean {@link ClassLoader class loader} to * a bean instance. * <p>Invoked <i>after</i> the population of normal bean properties but * <i>before</i> an initialization callback such as * {@link InitializingBean InitializingBean's} * {@link InitializingBean#afterPropertiesSet()} * method or a custom init-method. * @param classLoader the owning class loader */
void setBeanClassLoader(ClassLoader classLoader); }