spring复习:(33)AopProxyFactory接口

这篇具有很好参考价值的文章主要介绍了spring复习:(33)AopProxyFactory接口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

public interface AopProxyFactory {

	/**
	 * Create an {@link AopProxy} for the given AOP configuration.
	 * @param config the AOP configuration in the form of an
	 * AdvisedSupport object
	 * @return the corresponding AOP proxy
	 * @throws AopConfigException if the configuration is invalid
	 */
	AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException;

}

该接口只用一个方法: createAopProxy,用来创建Aop代理对象,它只有一个实现类:DefaultAopProxyFactory.
public class DefaultAopProxyFactory implements AopProxyFactory, Serializable {

@Override
public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException {
	if (config.isOptimize() || config.isProxyTargetClass() || hasNoUserSuppliedProxyInterfaces(config)) {
		Class<?> targetClass = config.getTargetClass();
		if (targetClass == null) {
			throw new AopConfigException("TargetSource cannot determine target class: " +
					"Either an interface or a target is required for proxy creation.");
		}
		if (targetClass.isInterface() || Proxy.isProxyClass(targetClass)) {
			return new JdkDynamicAopProxy(config);
		}
		return new ObjenesisCglibAopProxy(config);
	}
	else {
		return new JdkDynamicAopProxy(config);
	}
}

/**
 * Determine whether the supplied {@link AdvisedSupport} has only the
 * {@link org.springframework.aop.SpringProxy} interface specified
 * (or no proxy interfaces specified at all).
 */
private boolean hasNoUserSuppliedProxyInterfaces(AdvisedSupport config) {
	Class<?>[] ifcs = config.getProxiedInterfaces();
	return (ifcs.length == 0 || (ifcs.length == 1 && SpringProxy.class.isAssignableFrom(ifcs[0])));
}

}文章来源地址https://www.toymoban.com/news/detail-568287.html

到了这里,关于spring复习:(33)AopProxyFactory接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java Spring Boot2.7写一个接口 提供图片预览 前端可以直接用接口地址当src为图片地址使用

    我们特别是在做小程序开发时 很多图片会比较大 而小程序本身就对自身大小要求非常高 所以 图片放在服务器上提供访问链接是一种非常好的选择 我想很多前端会误认为 直接将图片放在服务器上就可以了 但其实没那么简单 因为服务器其实也可以理解为一个电脑 你就想 你自

    2024年02月07日
    浏览(46)
  • spring boot java项目整合Scala&Spark,接口api调用方式调用scala代码,配置分享

    版本说明: spring boot: 2.5.9 jdk:1.8 spark:2.4.5 sclala:2.11.12 首先你需要有一个完美的spring boot项目(java版本)能成功运行,这就不赘述了,按照网上的自己搭建吧,然后重要的来了,我捣鼓了两天时间,各样的报错见过了,网上的处理方法要嘛是不全,要嘛是没有用,各种办

    2024年02月10日
    浏览(49)
  • 【java】Spring Cloud --Feign Client超时时间配置以及单独给某接口设置超时时间方法

    FeignClient面对服务级有三种超时时间配置 feign配置是在ribbon配置的基础上做了扩展,可以支持服务级超时时间配置,所以,feign配置和ribbon配置的效果应该是一样的。 SpringCloud对这两种配置的优先级顺序如下: Feign局部配置 Feign全局配置 Ribbon局部配置 Ribbon全局配置 在feign-co

    2024年02月12日
    浏览(45)
  • spring复习:(6) AbstractBeanDefinition

    private volatile Object beanClass; 这个变量用来保存bean对应的类,该变量可能为String类型,也可能为Class?类型。 操作它的几个主要方法:

    2024年02月13日
    浏览(29)
  • spring复习:(12) BeanDefinitionHolder

    BeanDefinitionHolder有3个属性: 分别用来存储BeanDefinition, bean name和别名。 实现了接口BeanMetadataElement的getSource方法 该方法从beanDefinition属性中拿到source并返回。

    2024年02月13日
    浏览(28)
  • Spring复习-问题回答

    1.什么是 spring,你对 spring 的理解? Spring是一个轻量级,非侵入式的(不使用框架特定的类,感受不到框架) IOC和AOP 一站式的java后端开发框架,简化企业开发。 2.spring 的优缺点 优点: Spring是一个容器,可以管理对象(IOC); 创建对象和使用对象分离,降低耦合度; 使用

    2024年01月24日
    浏览(35)
  • Spring复习:(59)@Qualifier注解

    @Qualifier注解用来指定自动注入时合作bean需要满足的qualifier的名称,如果一个bean没有指定qualifier属性,则用它的id为qualifier,来给别的bean提供注入。 示例 ##########################################################

    2024年02月11日
    浏览(32)
  • 【Spring】数据导出为Excel的接口报java.io.IOException: UT010029: Stream is closed错误

    实习时导师让写一个平台信息导出为Excel的功能,写完之后发现文件正常导出,但控制台一直报 Stream is closed 错误。在网上找了大半天,都说是使用 OutputStream 时关闭了流导致的,这也确实是可能导致报错的原因之一,但我并未手动关闭 OutputStream ,排查半天,问了旁边大佬才

    2024年01月16日
    浏览(35)
  • spring复习: (16) AbstractBeanFactory之doCreateBean

    总体流程: 一、 先调用getSingleton,尝试从缓存中获取bean 如果获取bean成功,则调用getObjectForBeanInstance(sharedInstance, name, beanName, null); 该方法主要是通过区分普通bean和工厂bean来决定是返回原始的bean还是工厂bean通过调用getObject方法产生的bean. 二、如果第一步中sharedInstance为null,则

    2024年02月15日
    浏览(31)
  • Spring复习:(1) DefaultListableBeanFactory和BeanDefinitionReader

    一、beans11.xml: 二、Student类: 三、主类:

    2024年02月12日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包