Remove "Feature" support introduced in 3.1 M1
Feature-related support such as @Feature, @FeatureConfiguration, and FeatureSpecification types will be replaced by framework-provided @Configuration classes and convenience annotations such as @ComponentScan (already exists), @EnableAsync, @EnableScheduling, @EnableTransactionManagement and others. Issue: SPR-8012,SPR-8034,SPR-8039,SPR-8188,SPR-8206,SPR-8223, SPR-8225,SPR-8226,SPR-8227
This commit is contained in:
@@ -16,13 +16,12 @@
|
||||
|
||||
package org.springframework.aop.config;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.parsing.BeanComponentDefinition;
|
||||
import org.springframework.beans.factory.parsing.ComponentRegistrar;
|
||||
import org.springframework.beans.factory.parsing.ComponentRegistrarAdapter;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
import org.springframework.beans.factory.xml.ParserContext;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
/**
|
||||
* Utility class for handling registration of auto-proxy creators used internally
|
||||
@@ -53,41 +52,22 @@ public abstract class AopNamespaceUtils {
|
||||
private static final String EXPOSE_PROXY_ATTRIBUTE = "expose-proxy";
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated since Spring 3.1 in favor of
|
||||
* {@link #registerAutoProxyCreatorIfNecessary(BeanDefinitionRegistry, ComponentRegistrar, Object, Boolean, Boolean)}
|
||||
*/
|
||||
@Deprecated
|
||||
public static void registerAutoProxyCreatorIfNecessary(
|
||||
ParserContext parserContext, Element sourceElement) {
|
||||
|
||||
BeanDefinition beanDefinition = AopConfigUtils.registerAutoProxyCreatorIfNecessary(
|
||||
parserContext.getRegistry(), parserContext.extractSource(sourceElement));
|
||||
useClassProxyingIfNecessary(parserContext.getRegistry(), sourceElement);
|
||||
registerComponentIfNecessary(beanDefinition, new ComponentRegistrarAdapter(parserContext));
|
||||
}
|
||||
|
||||
public static void registerAutoProxyCreatorIfNecessary(
|
||||
BeanDefinitionRegistry registry, ComponentRegistrar parserContext, Object source, Boolean proxyTargetClass, Boolean exposeProxy) {
|
||||
|
||||
BeanDefinition beanDefinition =
|
||||
AopConfigUtils.registerAutoProxyCreatorIfNecessary(registry, source);
|
||||
useClassProxyingIfNecessary(registry, proxyTargetClass, exposeProxy);
|
||||
registerComponentIfNecessary(beanDefinition, parserContext);
|
||||
}
|
||||
|
||||
public static void registerAutoProxyCreatorIfNecessary(
|
||||
BeanDefinitionRegistry registry, ComponentRegistrar parserContext, Object source, Boolean proxyTargetClass) {
|
||||
registerAutoProxyCreatorIfNecessary(registry, parserContext, source, proxyTargetClass, false);
|
||||
}
|
||||
|
||||
public static void registerAspectJAutoProxyCreatorIfNecessary(
|
||||
ParserContext parserContext, Element sourceElement) {
|
||||
|
||||
BeanDefinition beanDefinition = AopConfigUtils.registerAspectJAutoProxyCreatorIfNecessary(
|
||||
parserContext.getRegistry(), parserContext.extractSource(sourceElement));
|
||||
useClassProxyingIfNecessary(parserContext.getRegistry(), sourceElement);
|
||||
registerComponentIfNecessary(beanDefinition, new ComponentRegistrarAdapter(parserContext));
|
||||
registerComponentIfNecessary(beanDefinition, parserContext);
|
||||
}
|
||||
|
||||
public static void registerAspectJAnnotationAutoProxyCreatorIfNecessary(
|
||||
@@ -96,7 +76,7 @@ public abstract class AopNamespaceUtils {
|
||||
BeanDefinition beanDefinition = AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary(
|
||||
parserContext.getRegistry(), parserContext.extractSource(sourceElement));
|
||||
useClassProxyingIfNecessary(parserContext.getRegistry(), sourceElement);
|
||||
registerComponentIfNecessary(beanDefinition, new ComponentRegistrarAdapter(parserContext));
|
||||
registerComponentIfNecessary(beanDefinition, parserContext);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -108,7 +88,7 @@ public abstract class AopNamespaceUtils {
|
||||
public static void registerAutoProxyCreatorIfNecessary(ParserContext parserContext, Object source) {
|
||||
BeanDefinition beanDefinition = AopConfigUtils.registerAutoProxyCreatorIfNecessary(
|
||||
parserContext.getRegistry(), source);
|
||||
registerComponentIfNecessary(beanDefinition, new ComponentRegistrarAdapter(parserContext));
|
||||
registerComponentIfNecessary(beanDefinition, parserContext);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -121,12 +101,6 @@ public abstract class AopNamespaceUtils {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated since Spring 3.1 in favor of
|
||||
* {@link #useClassProxyingIfNecessary(BeanDefinitionRegistry, Boolean, Boolean)}
|
||||
* which does not require a parameter of type org.w3c.dom.Element
|
||||
*/
|
||||
@Deprecated
|
||||
private static void useClassProxyingIfNecessary(BeanDefinitionRegistry registry, Element sourceElement) {
|
||||
if (sourceElement != null) {
|
||||
boolean proxyTargetClass = Boolean.valueOf(sourceElement.getAttribute(PROXY_TARGET_CLASS_ATTRIBUTE));
|
||||
@@ -140,20 +114,11 @@ public abstract class AopNamespaceUtils {
|
||||
}
|
||||
}
|
||||
|
||||
private static void useClassProxyingIfNecessary(BeanDefinitionRegistry registry, Boolean proxyTargetClass, Boolean exposeProxy) {
|
||||
if (proxyTargetClass) {
|
||||
AopConfigUtils.forceAutoProxyCreatorToUseClassProxying(registry);
|
||||
}
|
||||
if (exposeProxy) {
|
||||
AopConfigUtils.forceAutoProxyCreatorToExposeProxy(registry);
|
||||
}
|
||||
}
|
||||
|
||||
private static void registerComponentIfNecessary(BeanDefinition beanDefinition, ComponentRegistrar componentRegistrar) {
|
||||
private static void registerComponentIfNecessary(BeanDefinition beanDefinition, ParserContext parserContext) {
|
||||
if (beanDefinition != null) {
|
||||
BeanComponentDefinition componentDefinition =
|
||||
new BeanComponentDefinition(beanDefinition, AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME);
|
||||
componentRegistrar.registerComponent(componentDefinition);
|
||||
parserContext.registerComponent(componentDefinition);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user