java – 如何以编程方式确定bean的范围
发布时间:2020-12-15 03:08:07 所属栏目:Java 来源:网络整理
导读:我试图通过其名称找出bean的范围. 到目前为止我发现的是: BeanFactory#isPrototype(String name) #isSingleton(String name) 在我的情况下,我想知道bean是否在请求范围内.我可以使用Spring框架中的一些内部方法,但我想知道是否有“正确”的方法. 解决方法
我试图通过其名称找出bean的范围.
到目前为止我发现的是: BeanFactory#isPrototype(String name) #isSingleton(String name) 在我的情况下,我想知道bean是否在请求范围内.我可以使用Spring框架中的一些内部方法,但我想知道是否有“正确”的方法. 解决方法
好问题.
BeanFactory中没有isRequst()方法,因为请求范围仅与Web相关. 我只是试图找到这样做的方法而失败了.所以,如果你使用注释,我可以建议你一个可行的解决方法.当你获得bean实例时说bean.getClass().getAnnotation(Scope.class).如果这返回Scope调用值(). 这不是“科学”方法,但希望对你来说足够好. 编辑 其他方法如下.请求范围bean存储在请求属性中.我现在不记得它的名字,但你可以自己轻松找到它,只需在调试器中检查你的请求.然后检查对bean的引用是否存在.这种方法可能更好,但需要一些努力来研究Spring框架使用的请求属性和数据结构. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |