栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使Spring注入值进入静态场

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使Spring注入值进入静态场

你有两种可能性:

  1. 静态属性/字段的非静态设置器;
  2. 通过org.springframework.beans.factory.config.MethodInvokingFactoryBean调用静态的制定者。
    在第一个选项中,你有一个带有常规setter的bean,但设置实例属性的是设置静态属性/字段。
public void setTheProperty(Object value) {    foo.bar.Class.STATIC_VALUE = value;}

但是为了做到这一点,你需要有一个将实例化此setter的bean实例(它更像一个变通方法)。

在第二种情况下,将执行以下操作:

<bean >    <property name="staticMethod" value="foo.bar.Class.setTheProperty"/>    <property name="arguments">        <list> <ref bean="theProperty"/>        </list>   </property></bean>

根据你的情况,你将在Utils课程上添加一个新的二传手:

public static setDatabaseAttr(Properties p)

并且在你的上下文中,你将使用上述示例性方法对其进行配置,大致类似:

<bean >    <property name="staticMethod" value="foo.bar.Utils.setDatabaseAttr"/>    <property name="arguments">        <list> <ref bean="databaseAttr"/>        </list>   </property></bean>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383182.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号