这可能是一个非常简单的问题;但由于我是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以接受用户输入(如果这样做)。在我接下来的所有初学者教程中,我都找不到处理这种情况的方法。他们所教的是我所知道的。
我想我错过了一些教训。请指导我解决我的问题。如果可能的话,一些示例代码将对我有所帮助。
谢谢..!
答案 0 :(得分:2)
你找不到任何关于你的问题的教程,因为你的用例不适合春天。在实践中,我们不使用弹簧来实现你想要做的事情。 Spring最适合依赖注入具有单例行为的类,例如服务类,您通常需要在整个应用程序中使用单个实例。
一般来说,我们使用像hibernate这样的ORM作为你正在努力的用例。
答案 1 :(得分:2)
Beans不适合Value Objects,这就是你的方法不起作用的原因。
Bean是实例化的类,在程序执行期间会有很长的运行时间,它们由Spring管理。这包括提供业务逻辑的类的实例或提供程序功能的类,如数据库连接或套接字服务器。
值对象是应用程序使用的短期数据对象实例,学生类似乎是这样。它们由您的程序代码管理。