spring静态注入
与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值。
一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次,用来支持当前对象的正常使用。而我们有的时候,一些对象是单例(scope="singleton" )的,或者一些变量从项目启动从配置文件加载后不需要变化,那么这种情况下怎么处理呢?
静态注入配置(XML):
- <!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) -->
- <beanclass="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
- <property name="staticMethod"value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
- <property name="arguments" ref="securityManager"/>
- </bean>
上面注释写的很清楚,等于调用了下面的方法:
- SecurityUtils.setSecurityManager(securityManager)
就这么简单。
指定一个staticMethod ,静态的set 方法,另外一个参数是目标对象。把这个对象赋值过去。
如果arguments 是多个,采用List赋值。
- <!-- 静态注入,相当于调用SecurityUtils.setSecurityManager(securityManager) -->
- <beanclass="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
- <property name="staticMethod"value="org.apache.shiro.SecurityUtils.setSecurityManager"/>
- <property name="arguments">
- <list>
- <value>securityManager</value>
- </list>
- </property>
- </bean>
spring静态注入的更多相关文章
- Spring静态注入的三种方式
		版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen1403876161/article/details/53644024Spring静态注入的三 ... 
- Spring 静态注入讲解(MethodInvokingFactoryBean)
		/* * Copyright (c) 2017 4PX Information Technology Co.,Ltd. All rights reserved. */package com.fpx.o ... 
- spring 静态注入
		1.静态注入 在setter 方法修改为非 static , 然后在上面注入即可 @Component public class WeixinConfig { // token public stat ... 
- 转: spring静态注入
		与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值. 一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次 ... 
- Spring静态属性注入
		今天遇到一个工具类,需要静态注入一个属性,方法如下: 第一步:属性的set和get方法不要加static package cn.com.chinalife.ebusiness.common.util; ... 
- spring配置文件注入到静态变量
		spring配置注入到静态文件代码如下: package com.test.oss; import org.springframework.beans.factory.annotation.Value ... 
- Spring 依赖注入方式详解
		平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由 ... 
- 使用Dagger2做静态注入, 对比Guice.
		Dagger 依赖注入的诉求, 这边就不重复描述了, 在上文Spring以及Guice的IOC文档中都有提及, 既然有了Guice, Google为啥还要搞个Dagger2出来重复造轮子呢? 因为使用 ... 
- Spring 依赖注入方式详解(四)
		IoC 简介 平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想 ... 
随机推荐
- md5Util
			package com.rscode.credits.util; /** * MD5加密类 * @author 12 */ import java.security.MessageDigest; pu ... 
- unity---背景循环滚动
			方法一:两张图无缝拼接 float speed = 3; void Update() { transform.Translate(Vector3.right * Time.deltaTime * sp ... 
- UVa——1600(巡逻机器人)
			迷宫求最短路的话一般用bfs都可以解决,但是这个加了个状态,那么就增加一个维度,用来判断k的值.比较简单的三维bfs.写搜索题的话一定要注意细节.这个题花了好长的时间.因为k的原因,一开始用了k的原因 ... 
- Go学习之初出茅庐
			在一个月黑风高的夜晚,机缘巧合与Go语言一面之缘,被她的简洁.灵活.高效所吸引,让我有深入学习的冲动,现在开始我的成长之路吧. 
- slf4j的使用2
			一.Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行 ... 
- js处理数字加后缀w
			num > 9999 ? (Math.floor(num/1000)/10) + 'w' : num 
- 20175202 《Java程序设计》第八周学习总结
			20175202 2018-2019-2 <Java程序设计>第八周学习总结 教材知识点总结 1.泛型: 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 泛型类的声 ... 
- 使用命令查看 Laravel 的版本
			进入项目根目录文件夹后,进入命令行,输入命令: php artisan --version 或者输入: php artisan 会出现 artisan 的帮助文档,最上面就是 laravel 的版本号 
- mysql error 1067 invalid default timestamp
			问题 MySQL 5.7版本,在创建数据表时,使用以下语句定义一个字段: `update_time` timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE ... 
- 使用Pandas将多个数据表合一
			使用Pandas将多个数据表合一 将多张数据表合为一张表,便于统计分析,进行这一操作的前提为这多张数据表互相之间有关联信息,或者有相同的列. import pandas as pd unames = ... 
