gpt4 book ai didi

spring - 将 Spring 3 bean 注入(inject) JSF 2 托管 bean 的干净方法?

转载 作者:行者123 更新时间:2023-12-01 02:00:11 24 4
gpt4 key购买 nike

我正在将我们当前的解决方案从 JSF 1.2 迁移到 JSF 2。因为我需要使用新的 View 范围,所以我正在使用 JSF 2 注释。这迫使我使用 JSF @ManagedProperty 注释而不是 Spring 的 @Autowired 注入(inject) Spring bean

之前是这样的:

@Autowired private OneService oneService

现在是这样的:

@ManagedProperty(value="#{oneServiceImpl}")
private OneService oneService

您知道是否有一种方法可以在不需要声明其 bean 名称的情况下注释托管属性?

谢谢!

最佳答案

不,没有。 JSF 使用表达式语言 (EL) 来确定您通过名称引用哪个类。使用名为 ELResolver 的类他接受传递的字符串,解释并进行适当的引用。类(class)SpringBeanFacesELResolver提供两个框架之间的集成拦截请求并将其传递给 Spring 的上下文,Spring 处理提供 ManagedBean 所需的依赖关系,然后将其传递给 JSF 自己的 ELResolver。所以 JSF 需要 bean 的名称才能知道要注入(inject)什么。

关于spring - 将 Spring 3 bean 注入(inject) JSF 2 托管 bean 的干净方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953040/

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