深入理解Spring之扩展接口

Spring 的设计中留给了我们大量的扩展接口供开发者去自定义自己的功能,其中AOP 就是在 Spring 预留的扩展接口中实现的,所以说只要遵守 Spring 对扩展接口的约定,那么就能实现自己想要的功能。那么我们具体来看一下都有哪些扩展接口。

1.FactoryBean(Aop就是通过这个接口来实现的),我们看一下这个接口里面的方法:

public interface FactoryBean<T> {
	//返回对象实例
	T getObject() throws Exception;

	//对象的类型
	Class<?> getObjectType();

	//是否单例
	default boolean isSingleton() {
		return true;
	}

}

主要通过getObject方法,实例化一些自定义类(比较复杂的),比如AOP功能,mybatis-spring里面也有使用。

2.InitializingBean:初始化数据的接口

这个接口里面有一个方法:afterPropertiesSet,从名称也能够看出,这个方法主要是在当前对象的属性设置完成以后调用的,可以在这里做一些初始化的工作。跟init-method配置的效果是一致的,不过执行顺序上早于init-method。

3.DisposableBean :消费bean的一些操作

这个接口也只有一个方法:destroy,这里主要是在销毁之前做一些自己的自定义操作。

4.BeanFactoryPostProcessor:获取BeanDefinition对象,然后修改对象的元数据

这个接口里面也是只有一个方法:postProcessBeanFactory,从名字可以看出,是在对象被创建之前做的操作,而且只会被执行一次, 这里主要是可以获取到所有在BeanFactory中的BeanDefinition對象 加以修改对象的元属性:例如scope

5.Aware接口

5.1BeanNameAware:获取当亲bean的name信息

         void setBeanName(String name);   这里的name就是当前bean的name

5.2BeanFactoryAware:获取当前的bean工厂(BeanFactory),然後可以获取到当前工厂下的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值