在运行时向Spring bean添加属性值

时间:2016-10-15 08:25:18

标签: java xml spring

这可能是一个非常简单的问题;但由于我是Spring的初学者,我无法理解如何在运行时为Spring bean赋值。

我学习了Spring的一些教程,现在我知道如何开始使用Spring。我可以理解声明bean定义的Spring beans.xml,我可以理解一些可以用来代替xml配置的注释。但我无法理解如何进行以下配置。

我们说我有一个叫做学生的课程。每个学生对象都有一个名字和一个年龄。

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.address = address;
    }

}

这是我如何在Beans.xml文件中编写bean配置

的条目
<bean id="student" class="Student">
    <property name="name" value="Joe"></property>
    <property name="address" value="12"></property>
</bean>

我对这个二传手注射完全没问题。至于我可以使用xml文件更改属性值,我可以更改学生的属性。

但我们认为我们需要申请注册学生。使用应用程序的前端形式,我们输入名称和年龄。我的问题是如何将这些名称和年龄值注入Student bean。现在我们正在处理正在运行的应用程序。

我无法理解我们应该如何更改xml以接受用户输入(如果这样做)。在我接下来的所有初学者教程中,我都找不到处理这种情况的方法。他们所教的是我所知道的。

我想我错过了一些教训。请指导我解决我的问题。如果可能的话,一些示例代码将对我有所帮助。

谢谢..!

2 个答案:

答案 0 :(得分:2)

你找不到任何关于你的问题的教程,因为你的用例不适合春天。在实践中,我们不使用弹簧来实现你想要做的事情。 Spring最适合依赖注入具有单例行为的类,例如服务类,您通常需要在整个应用程序中使用单个实例。

一般来说,我们使用像hibernate这样的ORM作为你正在努力的用例。

答案 1 :(得分:2)

Beans不适合Value Objects,这就是你的方法不起作用的原因。

Bean是实例化的类,在程序执行期间会有很长的运行时间,它们由Spring管理。这包括提供业务逻辑的类的实例或提供程序功能的类,如数据库连接或套接字服务器。

值对象是应用程序使用的短期数据对象实例,学生类似乎是这样。它们由您的程序代码管理。