利用MethodInvokingFacotryBean可以在Spring的环境里实现静态注入(其实也就是对JavaBean 的静态成员变量进行赋值。)
<!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
<property name="arguments" ref="securityManager"/>
</bean>
相当于
SecurityUtils.setSecurityManager(securityManager)
这个方法在某些地方还是很有用的。
一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次,用来支持当前对象的正常使用。而我们有的时候,一些对象是单例(scope=”singleton” )的,或者一些变量从项目启动从配置文件加载后不需要变化,这个时候这个就派上用场了。