gpt4 book ai didi

spring - 将 spring bean 放入 Application 范围?

转载 作者:行者123 更新时间:2023-11-28 23:19:06 27 4
gpt4 key购买 nike

这是相关的this question :

我需要在启动时将 Spring bean 注入(inject)到 Tomcat 应用程序的作用域中:

<beans:bean id="myUrl" class="java.lang.String" >
<beans:constructor-arg type="java.lang.String">
<beans:value>${my.registry.location:some.url}</beans:value>
</beans:constructor-arg>
</beans:bean>

是否有一种巧妙的方法可以从 Spring XML 配置中执行此操作,或者我是否需要重写某些 servlet 方法(呃)?

最佳答案

我想我会发布这个以防它对某人有帮助。 Spring 有一个 bean 会在初始化时为您执行此操作:ServletContextAttributeExporter .

你可以这样使用它:

<bean id="myBean" class="java.lang.String" >
<constructor-arg type="java.lang.String">
<value>${some.property.value}</value>
</constructor-arg>
</bean>

<bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
<property name="attributes">
<map>
<entry key="myBean" value-ref="myBean" />
</map>
</property>
</bean>

然后您可以在非 Spring 感知的 JSP 代码中执行类似的操作(例如):

<div>
Value of my bean is: ${applicationScope.myBean}
</div>

关于spring - 将 spring bean 放入 Application 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45850435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com