与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值。

一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次,用来支持当前对象的正常使用。而我们有的时候,一些对象是单例(scope="singleton" )的,或者一些变量从项目启动从配置文件加载后不需要变化,那么这种情况下怎么处理呢?

静态注入配置(XML):

 
  1. <!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) -->
  2. <beanclass="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
  3. <property name="staticMethod"value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
  4. <property name="arguments" ref="securityManager"/>
  5. </bean>

上面注释写的很清楚,等于调用了下面的方法:

 
  1. SecurityUtils.setSecurityManager(securityManager)

就这么简单。

指定一个staticMethod ,静态的set 方法,另外一个参数是目标对象。把这个对象赋值过去。

如果arguments 是多个,采用List赋值。

 
  1. <!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) -->
  2. <beanclass="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
  3. <property name="staticMethod"value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
  4. <property name="arguments">
  5. <list>
  6. <value>securityManager</value>
  7. </list>
  8. </property>
  9. </bean>

spring静态注入的更多相关文章

  1. Spring静态注入的三种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen1403876161/article/details/53644024Spring静态注入的三 ...

  2. Spring 静态注入讲解(MethodInvokingFactoryBean)

    /* * Copyright (c) 2017 4PX Information Technology Co.,Ltd. All rights reserved. */package com.fpx.o ...

  3. spring 静态注入

    1.静态注入 在setter 方法修改为非 static , 然后在上面注入即可 @Component public class WeixinConfig { // token public stat ...

  4. 转: spring静态注入

    与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值. 一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次 ...

  5. Spring静态属性注入

    今天遇到一个工具类,需要静态注入一个属性,方法如下: 第一步:属性的set和get方法不要加static package cn.com.chinalife.ebusiness.common.util; ...

  6. spring配置文件注入到静态变量

    spring配置注入到静态文件代码如下: package com.test.oss; import org.springframework.beans.factory.annotation.Value ...

  7. Spring 依赖注入方式详解

    平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由 ...

  8. 使用Dagger2做静态注入, 对比Guice.

    Dagger 依赖注入的诉求, 这边就不重复描述了, 在上文Spring以及Guice的IOC文档中都有提及, 既然有了Guice, Google为啥还要搞个Dagger2出来重复造轮子呢? 因为使用 ...

  9. Spring 依赖注入方式详解(四)

    IoC 简介 平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想 ...

随机推荐

  1. border边框属性

    边框属性: 边框宽度(border-width):thin.medium.thick.长度值 边框颜色(border-color):颜色.transparent(透明) 边框样式(border-sty ...

  2. python学习3---产生随机数

    1.产生随机数 import random #random.random()生成[0.0,1.0)之间的浮点数 print(random.random()) #random.randint(a,b)生 ...

  3. 如何配置Tomcat以使用Apache httpd?

    How to Connect Tomcat 6 to Apache HTTP Server 2 Tomcat can be run as a standalone server. Tomcat can ...

  4. mysql 外键和子查询,视图

    1.mysql 外键约束 建表时生成外键   foreing key ('sid') references' student'('id'); 建表后添加外键  alter table' course ...

  5. vue 基础重要组件 模板指令 事件绑定

    组件:data methods watch new vue({ data:{ a:1, b:[] }, methods:{ dosomething:function(){ this.a++; } }, ...

  6. PAT乙级考前总结(一)

    数学相关的题目 1001 害死人不偿命的(3n+1)猜想 (15 分) 直接一步步计数 1005 继续(3n+1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目 ...

  7. webbug3.0靶场第一关

    目标一,由于用的kli系统,所以没有去手动注入,用了sqlmap来注入检测 先用sqlmap -u "http://192.168.199.136/pentest/test/sqli/sql ...

  8. 对spring框架的理解

    spring框架的两大核心理念就是IOC和AOP,在面试的时候经常会被问到你对spring的理解.下面大致的说一下我对spring的理解. 一.IoC 1.1.什么是IoC 众所周知,IoC就是控制反 ...

  9. bat 传递参数

    调用bat时,传递参数有个小问题,记录一下. 1.问题描述: 传递参数时,接收的值不对.传递了“1,2,3”,接收时,只剩下1.后面的没有了. 解决: 原因是bat取参时,语法弄错了. Syntax ...

  10. 恢复win7快捷方式小箭头

    reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons&q ...