【问题标题】:@ManagedProperty equivalent in SpringSpring 中的 @ManagedProperty 等效项
【发布时间】:2013-01-02 22:19:52
【问题描述】:

我正在为我的 DI 使用 Spring。 是否有相当于@ManagedProperty?我想将一个视图范围 bean 中的值注入到下一页的另一个视图中。

例如

@Component
@Scope("view")
public class Page1Bean(){
   private String value;
}

@Component
@Scope("view")
public class Page2Bean(){
    @ManagedProperty(value = #{page1Bean}")  //doesnt work in Spring
    private Page1Bean bean;
}

【问题讨论】:

    标签: spring jsf-2


    【解决方案1】:

    @Resource@Autowired 应该可以工作。 @Resource 是 Java EE 实现,@Autowired 是 spring 特定的注解。我现在找不到参考资料,但似乎我读过一次更喜欢@Resource 而不是@Autowired

    这是我发现的一篇博客文章,讨论了 @Inject@Resource@Autowired http://blogs.sourceallies.com/2011/08/spring-injection-with-resource-and-autowired/#more-2350

    【讨论】:

    • 我相信这将实例化一个新的 Page1Bean。我想传递实际的 Page1Bean 及其所有内容。
    • 我一直在使用@Inject..我认为那是 JEE 版本。
    • 用于将 jsf 视图范围移植到 spring:cagataycivici.wordpress.com/2010/02/17/…
    • 它不应该创建一个新的 Page1Bean 除非在给定的范围内不存在。由于您没有使用 Spring 中的已知范围之一,这可能就是您认为它将实例化新 Page1Bean 的原因。
    • 我已经移植了视图范围。视图范围仅存在于当前视图上。如果您导航到另一个页面,该 bean 将不在范围内,并且将被重新创建。我已经使用 post 构造方法对此进行了测试。
    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2012-08-27
    • 2015-04-30
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2011-12-26
    相关资源
    最近更新 更多