Spring常用的一些扩展功能

1、实现接口BeanPostProcessor的postProcessAfterInitialization和postProcessBeforeInitialization方法。

     监听一个bean在初始化前或初始化后的处理。

   如下图应用:


 

   2、实现接口ApplicationListener。spring提供了监听器监听不同的事件,根据不同的事件在spring加载不同的阶段进行调用这些事件。

如下图,在spring进行环境准备,还未加载上下文时的一个事件:

ContextClosedEvent:如监听spring容器关闭之前要做的处理。

ApplicationStartedEvent :spring boot启动开始时执行的事件

ApplicationEnvironmentPreparedEvent:spring boot 对应Enviroment已经准备完毕,但此时上下文context还没有创建。

ApplicationPreparedEvent:spring boot上下文context创建完成,但此时spring中的bean是没有完全加载完成的。

ApplicationFailedEvent:spring boot启动异常时执行事件

3、实现InitializingBean接口,在实现类被ioc容器初始化完成时,会自动调用覆盖这个接口的afterPropertiesSet方法。

如下是策略模式中把各个策略加载到工厂中。

4、实现ApplicationContextAware接口。通过实现这个接口,spring会自动注入applicationContext上线文对象进来,我们可以根据这个上下文对象获取spring中的一些bean。

其中的applicationContext.getBeansOfType是获取一个接口下的所有实现类的实例。

5、实现HandlerInterceptor接口。属于spring mvn对web的一些拦截处理:如校验登录,校验请求地址,校验token,校验和设置cookie等。大部分都是实现preHandle方法。

6、实现MethodInterceptor接口。在Spring Aop框架中,MethodInterceptor接口被用来拦截指定的方法,对方法进行增强。

如下图使用:

7、@Acpect : 对一些指定的路径或格式进行切入,然后对返回的值进行重新设置或者加入一些公共的返回值。

8、@RestControlleAdvice的使用。是@RestControlle的增强版本,一般用于拦截处理返回给web的异常等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值