自定义Bean作用域

2020-05-19  本文已影响0人  叶小松_ea46

步骤一: 实现Scope接口 

第二步注册作用域

在上例子中

第一步要创建一个User类型的Bean放入容器中,这个Bean被@Scope(自定义作用域名称) 修饰, 标明它的作用域是自定义类型的

第二步使用ConfigurableBeanFactory#registerScope(自定义作用域名,自定义作用域对象) 将自定义作用域注册到容器中

当根据类型获取User类型的Bean的时候,IOC容器会检测到该Bean被@Scope()修饰,则会回调自定义作用域的get()方法, 第一个参数是你要获取的Bean在IOC容器中的名称 第二个参数是通过延迟注入的方式在IOC容器中获取的User对象,表现为ObjectFactory (此时ObjectFactory.getObject()得到的就是默认情况下getBean的结果,这里由于要自定义作用域,所以IOC容器把要注入的Bean变成ObjectFactory作为参数传递到get()方法中,让我们自定义操作Bean)

上一篇 下一篇

猜你喜欢

热点阅读