Spring 静态变量注入赋值,静态方法调用,静态语句块

soゝso 2016-08-22 16:03:03 9223

静态语句块

我在百度百科创建了这个词,静态语句块-百度百科

static String x;
//静态语句块
static{
	x = "测试静态语句块。";
}

静态方法调用,静态变量赋值。

看了网上好多讲解的都有问题。 Spring  提供了一个类:

org.springframework.beans.factory.config.MethodInvokingFactoryBean

使用方法详解:

在Spring配置文件中配置:

<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
     <property name="staticMethod" value="com.sojson.core.domain.DomainDistribution.setDomainInfo"/>
     <property name="arguments">
     	<array>
     		<value>{"convert":"word2spell,cn2spark,pingindic,low2up,fullhalf"}</value>
     		<value>{"color":"cj,img,online,page,select,use,web"}</value>
     	</array>
     </property>
</bean>

name="staticMethod" :固定写法,顾名思义就是静态方法。

value="com.sojson.core.domain.DomainDistribution.setDomainInfo" :对应的静态方法,

com.sojson.core.domain.DomainDistribution 是类的全路径,而setDomainInfo 是静态方法名称。

name="arguments" :参数,而我的array 是因为我要注入的是一个数组,其实是一个 json  数组。

对应的Java代码:

package com.sojson.core.domain;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class DomainDistribution {
	static String x;
	//静态语句块
	static{
		x = "测试静态语句块。";
	}

	public static Map<String,Set<String>> domainMap = new LinkedHashMap<String,Set<String>>();

	/**
	 * 静态调用方法测试
	 * @param domainInfo
	 */
	public static void setDomainInfo(String[] domainInfo) {
		
		for (String json : domainInfo) {
			System.out.println(json);
		}
	}
	
}

你可以复制代码测试一下。

都是在项目启动的时候,按加载顺序进行加载,当然也是可以赋值 Java  bean。

有问题加群交流!


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/129.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

相关文章
Spring 静态变量注入赋值静态方法调用静态语句
Spring 静态注入讲解(MethodInvokingFactoryBean)
Freemarker静态化加载模板的三种方式
Urlrewrite Java 伪静态 urlrewrite.xml 配置参数描述
为什么undefined、NaN和Infinity可以被赋值,而null不可以?
Spring 3.x 升级到Spring 4.x 意事项和步骤,错误解决方法
MySql数据库优化意的四个细节(方法
Shiro教程(三)Shiro web.xml中Filter配置,配置意事项
Websocket(一)~ Spring Websocket Session共享解决思路
Freemarker教程,Freemarker 自定义方法 【含源码】
最新文章
JS加密V6版本上线了,JS加密升级,原来的sojson.v5加密升级到JS加密第六个版本!!! 149
陕西普通话考试查询官方,网站代码源码 537
阿里云和腾讯云哪个好? 303
2019年9月16日新浪短链API已经恢复使用,新浪短链服务官方已经宣布停用。本站已经攻克 2720
2019年 中秋节、国庆节放假通知来了,拼假攻略 205
记一次小失误导致的大事件,Mysql SQL Error: 0, SQLState: null 排查过程 454
Springboot Maven 增加本地依赖包,Springboot Maven打包本地包 232
Java 获取图片属性、获取图片EXIF属性操作方法[metadata-extractor] 110
又拍云(Upyun)CDN、云存储刷新链接缓存,API实例讲解 155
Linux Centos 使用 Redis service 启动,Redis service 脚本编写 240
最热文章
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 185418
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 169857
Elasticsearch教程(四) elasticsearch head 插件安装和使用 143138
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 106056
Elasticsearch教程(六) elasticsearch Client创建 83181
Elasticsearch教程(一),全程直播(小白级别) 80901
Elasticsearch教程(二),IK分词器安装 78560
Elasticsearch教程(八) elasticsearch delete 删除数据(Java) 77651
免费天气API,天气JSON API,不限次数获取十五天的天气预报 75183
Elasticsearch教程(五) elasticsearch Mapping的创建 72246

骚码加入我们 / 千人QQ群:259217951

入群需要5元,如果没有QQ钱包,可以先Alipay、微信,赞助然后加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

正在加载... ...