这可能是一个非常简单的问题;但由于我是 Spring 的初学者,我无法理解如何在运行时为 Spring bean 赋值。
我遵循了一些学习 Spring 的教程,现在我知道如何开始使用 Spring。我可以理解声明 bean 定义的 Spring beans.xml
,我可以理解一些可以用来代替 xml 配置的注释。但我无法理解如何进行以下配置。
假设我有一个名为 Student 的类(class)。每个学生对象都有一个姓名和年龄。
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>
我完全同意这个 setter 注入(inject)。只要我可以使用 xml 文件更改属性值,我就可以更改学生的属性。
但是我们认为我们需要一个应用程序来注册学生。使用应用程序的前端表单,我们输入姓名和年龄。我的问题是我们如何将这些姓名和年龄值注入(inject)到 Student bean 中。现在我们正在处理一个正在运行的应用程序。
我不明白我们应该如何更改 xml 以接受用户输入(如果是这样做的话)。在我遵循的所有初学者教程中,我没有找到处理此类情况的方法。他们教的内容是我已经知道的。
我想我在这方面错过了一些教训。请指导我解决我的问题。如果可能的话,一些示例代码将对我的理解很有帮助。
谢谢你..!
最佳答案
您找不到任何针对您问题的教程,因为您的用例不适合 spring。在实践中,我们不使用 spring 来实现您想要做的事情。 Spring 最适合具有单例行为的类的依赖注入(inject),例如您通常需要在应用程序中使用单个实例的服务类。
通常我们使用像 Hibernate 这样的 ORM 来处理您所引用的用例。
关于java - 在运行时向 Spring bean 添加属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40056799/