【问题标题】:How can I use the approach of creating bean from XML file, in spring, in any Java application [closed]我如何在任何 Java 应用程序中使用从 XML 文件创建 bean 的方法 [关闭]
【发布时间】:2015-06-12 02:00:03
【问题描述】:

我正在学习 Spring 框架。我从核心开始。我没有通过在 XML 文件中指定值然后使用上下文(XML 或应用程序)来初始化 bean 来学习创建 Bean 的方法。我对这种通过 XML 文件创建对象的方法(指定构造函数和设置方法的值)感到困惑。
我觉得我的思维范围很小。如果我根据用户提供的值(通过某些字段)创建 bean,那么 How Spring 会很有帮助?我认为在这种情况下,首先我必须将这些值保存在 XML 文件中,然后初始化bean 通过 java 代码获取对象(如果我使用的是 spring 框架)。

我的问题是通过 XML 文件初始化构造函数有什么好处? 在一个基本的 java web 应用程序中,我将根据用户(表单字段)提供的值直接创建一个 bean。我永远不会创建 XML 文件(Spring 配置),将用户输入保存在该文件中,然后通过 Spring Context 进一步初始化 bean。

我希望我能够解释我的问题。

我可以理解 DI 和 IOC 的好处,但是如果有人可以用一个简单的 Java 小程序示例来解释我,您可以在其中获取用户输入并将其保存在 DB 中(无需编写详细代码)。您将如何使用构造函数注入或 Setter 注入。用户提供的值是运行时值。

【问题讨论】:

标签: java spring


【解决方案1】:

在 XML 中指定 bean 需要注意我现在能想到的 3 件主要事情

  1. 您不必手动创建 bean,只需从应用程序上下文中获取它。
  2. 本例中的线程管理由 Spring OOTB 完成,您不必担心
  3. 这很容易,因为一旦定义了一个 bean,就可以一次又一次地重用它。

【讨论】:

    【解决方案2】:

    使用构造函数参数有助于确保您的 bean 在没有设置必要字段的情况下不会被初始化。

    Web 应用程序的用例有所不同:您确实不应该配置 DTO(正如您所发现的那样,这将需要您做大量的工作)。 Web 应用程序中 Spring 的主要好处是托管服务对象、DAO 和工厂。然而,对于用户可编辑的 DTO,我认为在文件中配置它们并没有什么好处

    TL;DR:不要将你的 DTO 赤裸裸地放在配置文件中,而是创建一个工厂让它们由 Spring 管理

    【讨论】:

    • 我同意,如果您使用的是 DTO,则绝对不需要在 XML 中进行任何类型的配置。
    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 2011-07-15
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多