Spring应用程序上下文: How do you set a constructor argument of a class to a class static member variable?

标签 spring static-members applicationcontext restlet-2.0

在应用程序上下文 XML 文件中,如何将构造函数参数设置为静态类成员?

例如,我正在使用 ReSTLet,ReSTLet 的一个名为 ChallengeAuthenticator 的类接收一个挑战方案成员变量。

// Normal Initialization
ChallengeAuthenticator challengeAuthenticator = new ChallengeAuthenticator(
                null, ChallengeScheme.HTTP_BASIC, "WSRealm");

如果可能的话,我希望将其放在应用程序上下文中。对于这样的事情:

<bean id="challengeAuthenticator" class="org.restlet.security.ChallengeAuthenticator">
  <!-- Not meant to be String for value just trying to make it easier to reader to interpret my question -->  
  <constructor-arg value="ChallengeScheme.HTTP_BASIC" />
</bean>

最佳答案

最简单的方法是使用Spring Expression Language :

<constructor-arg value="#{ T(ChallengeScheme).HTTP_BASIC }" />

请注意,您需要在 T(...) 中提供完整的类名。

关于Spring应用程序上下文: How do you set a constructor argument of a class to a class static member variable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13269880/

相关文章:

c++ - this 在静态成员函数的未计算上下文中

java - 什么是NoSuchBeanDefinitionException,我该如何解决?

java - 将单例注入(inject)到 Spring Boot 应用程序上下文中

java - spring data jpa中的派生方法

java - 使用 Java spring 发送 HTML 电子邮件?

c++ - 模板类静态成员变量的隐式初始化

java - Spring上下文引用java

java - 在运行时创建@RestController

spring - Maven 3 的 POM 具有新的 DSL 格式。 Spring applicationcontext.xml 文件是否有类似的格式?

java - 有什么办法可以保存 `static members` 的状态吗?