我之前介绍了拦截器的基本姿势:[Web系列] Springboot Interceptor Interceptor使用姿势简介
在Springboot中,通过实现拦截器进行注册,那么当我们想在拦截器中使用BEAN时,如何纠正?
该项目由 + +开发
打开用于测试的网络服务
实现拦截器相对简单,可以实现接口。例如,我们实施基本的权限验证拦截器。通过从请求标头获得参数,在满足条件时会表示。
接下来是该拦截器的注册
下一个问题来了。我们希望将此值放置在配置文件中。
在项目资源文档中,添加一个请求头以指示验证
配置读取,可以通过注释使用或使用
但是,请注意上述拦截器注册,即直接构建的方法,在拦截器中添加,即使添加它,注释也不会生效(最终分析,该拦截器未由春季环境)
那么,如果要在拦截器中的弹簧容器中使用bean对象,如何纠正呢?
2.1新添加的应用程序context容器类A类可行方法是维护项目中保存的工具类
基于此,在拦截器中,如果要获得配置,请将其直接更改为以下内容。
要以这种方式访问Bean,优势是它更为普遍,应用范围很广
2.2尽管将拦截器注册为上述方法的方法是可行的,但似乎不是那么优雅,因此有一种方法可以直接将拦截器声明为bean对象,然后使用注释来注入依赖的bean
当然这是可行的,请注意Bean注册的几种姿势,我们使用以下方式注册拦截器
上述方法由配置类声明,然后使用拦截器直接创建一个实例。上述用法表明它使用弹簧豆容器注册。陈述
因此,您可以在拦截器中注入其他依赖项
测试相对简单,如下
尽管本文介绍了如何在拦截器中注入bean,但实际知识点仍然是创建bean对象的几种姿势。上面提供了两种常见的方法。释放对象,它可以节省很多东西。
另一个是将拦截器声明为豆。需要注意的要点是,当拦截器注册时,拦截器不能直接;您可以尝试
这封信不如这本书好。以上内容纯粹是一个家庭。由于个人能力有限,因此不可避免地遗漏和错误。如果您发现错误或有更好的建议,请批评和纠正。
以下灰色个人博客记录了所有研究和工作中的所有博客文章,欢迎大家去购物