spring框架的一段代码

来源:百度知道 编辑:UC知道 时间:2024/09/23 08:26:23
请问下边这段使用了spring框架的代码中的personService是怎样实例化的呢?
public class PersonController extends BaseCURDController <Person> {

/**
* logger对象
*/
protected static final Log logger = LogFactory.getLog(PersonController.class);

//查询结果在session里的存储名称
private static final String QUERY_NAME = "query.person";

private PersonService personService; //逻辑层对象
public ModelAndView saveEdit(HttpServletRequest request, HttpServletResponse response) {
Person person = null;
try {
person = param2Object(request);

if (!validate(request, person)) {
return edit(request, response);
}

this.personService.update(person);
showMessage(request, "修改person成功");
} catch (AppException e) {
logger.error("修改person[" + person + "]失败", e);
showMessage(request, "修改person失败:" + e.getMessage(), e);

//修改失败后,重新显示修改页面
return

通过applicationContext.xml中配置 注入的!

仔细看一下你的applicationContext.xml你应该会发现这样一段内容
<bean id="personService"
class="package.PersonService">//声明bean
...
</bean>

<bean id="personController" class="package.PersonController">
<property name="personService">
<ref local="personService"></ref>//这里就是声明要注入前面注册的那个personService bean的实例
</property>
</bean>