您的位置:首页 > 编程语言 > Java开发

Spring 注入static变量

2015-07-17 14:52 465 查看
一般我们我想注入一个static的变量,如下:

@Autowired
private static String str;

不过,这样最终结果为null

1、使用配置文件的方式注入

private static String from;

public static String getFrom() {
return from;
}

public static void setFrom(String from) {
TestStatic.from = from;
}

<bean class="TestStatic">
<property name="from" value="abc"/>
</bean>


2、使用注解的方式,不过注解写在非static的方法上

private static String to;

public static String getTo() {
return to;
}

@Value("${mail.to}")
public void setTo(String to) {
TestStatic.to = to;
}


备注:目前Spring的注解不支持静态的变量和方法,至于原因:有人说是因为Spring是基于对象层面的依赖注入的,而且使用静态的变量或类什么的话,扩大了其生命周期,给Testing带来困难,故Spring不推荐这样做。至于还有没有其他的什么原因,抱歉,没有搜到,咯咯,若你有什么好的理由,可以私聊哦,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: