kzht.gm.springframework.extension.context.PrototypeScopeMetadataResolver.java Source code

Java tutorial

Introduction

Here is the source code for kzht.gm.springframework.extension.context.PrototypeScopeMetadataResolver.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package kzht.gm.springframework.extension.context;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.AnnotationScopeMetadataResolver;
import org.springframework.context.annotation.ScopeMetadata;

/**
 * /beans/component-scan/@scope-resolver
 * ????????? Prototype ??
 * {@link org.springframework.context.annotation.AnnotationScopeMetadataResolver}
 * ?
 *
 * <pre>
 * Usage :
 *  XXX.xml (Bean ) ...
 *    <b>&lt;context:component-scan base-package="..." scope-resolver="kzht.gm.springframework.extension.context.PrototypeScopeMetadataResolver" /&gt;</b>
 * </pre>
 *
 * @author kazuhito
 */
public class PrototypeScopeMetadataResolver extends AnnotationScopeMetadataResolver {

    private static final Logger LOG = Logger.getLogger(PrototypeScopeMetadataResolver.class);

    @Override
    public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Default scope will be prototype.");
        }

        ScopeMetadata metadata = new ScopeMetadata();
        metadata.setScopeName(BeanDefinition.SCOPE_PROTOTYPE);
        return metadata;
    }
}