当需要逐步或迭代的用户输入时使用Spring IOC?

时间:2011-05-31 19:12:05

标签: java spring inversion-of-control ioc-container

我有一个桌面应用程序,我希望迁移到Spring(3.0.5),其中涉及“步骤”,在实例化某些对象(或bean)之前需要用户决策。

假设示例:假设应用程序允许用户从邮件阅读器程序转换邮箱。

  1. 用户选择目录
  2. 应用程序分析目录
  3. 中的元数据文件
  4. 用户从提供的有效“邮箱”文件中选择一个文件
  5. 应用程序分析源文件详细信息以确定适当的默认输出设置
  6. 用户自定义目标目录和输出设置
  7. 应用程序执行转换和保存
  8. 据我所知,似乎有一些方法可以在Spring中处理这个问题:

    1. 在必要的信息到达时创建一组嵌套(父/子)ApplicationContext对象。
    2. 创建一些“数据保存”bean,并且依赖于根本不调用某些代码路径,而它们可能是“空的”。例如:如果我有一个WriteToFile bean需要用户选择的File目的地,请将其重新分解为需要FileHolder,只要在WriteToFile.go()被调用时就会被询问
    3. 使用lazy-initscope="prototype"MethodInvokingFactoryBean的某种组合,以便只有在源信息(在其他bean上)可用时才会延迟初始化“以后”的bean。
    4. 其中任何一个看起来都比其他人好吗?我错过了一个选项吗?

      现在#3可能有点#1听起来更合适。

0 个答案:

没有答案