我正在尝试发现bean的工作方式,而且我正在尝试遵循spring官方bean教程(http://docs.spring.io/spring/docs/1.2.x/reference/beans.html)。
我正在尝试编写一个只需加载bean.xml文件并从中获取bean的应用程序,将其设置为变量。
Car car = (Car) beans.getBean("car");
以下是我的bean.xml的样子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="person" class="com.vlad.myapp.Person">
<property name="name"><value>"Bob"</value></property>
<property name="lastName"><value>"Bobson"</value></property>
<property name="id"><value>1</value></property>
</bean>
</beans>
这是我的Person.java类:
package com.vlad.myapp;
public class Person {
private String name;
private String last_name;
private int id;
public Person(String name,String last_name,int id)
{
this.name = name;
this.last_name = last_name;
this.id = id;
}
public String name()
{
return name;
}
public String last_name(){
return last_name;
}
public int id()
{
return id;
}
public void setName(String name){
this.name = name;
}
public void setLastName(String name){
this.last_name = name;
}
public void setId(int id)
{
this.id = id;
}
}
在我的控制器中,我正在尝试加载bean文件并获取其中一个bean,如Car示例中所示:
ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("bean.xml");
Person person = (Person) beans.getBean("person");
model.addAttribute("person",person);
return "home";
在视图中,我试图简单地打印出Person的名称:
<p>The person's name is: ${person.name()}</p>
然而,我加载的所有内容都是:
该人的姓名是:
看起来好像视图无法获取变量?
这是我的目录结构:
答案 0 :(得分:2)
<p>The person's name is: ${person.name}</p>
代替$ {person.name()} 答案 1 :(得分:0)
您需要创建POJO。你的吸气者错了,应该是:
public String getName()
{
return name;
}
public String getLastName(){
return last_name;
}
public int getId()
{
return id;
}