如果一个项目应用了spring框架,实例化对象的过程也就交给了Spring了,也即一般在applicationContext.xml配置文件中配置类的依赖关系,这样做以后假如jsp页面上想要直接访问Service层的方法,由于service的实例化交给了Spring,所以也就不能new一个对象出来了即不能直接调用某个接口的实现类,它是通过注入的。这时如果想要访问Service中的方法该怎么办呢?
1、首先你需要有一个jar包,形如spring-web-3.2.0.M2.jar,将此包加入build Path并部署或者直接复制到WEB-INF/lib下,这是spring应用在web项目时需要用到的jar包
<%@page import="org.springframework.web.context.WebApplicationContext"%>
<%@page import="org.springframework.web.context.support.WebApplicationContextUtils"%>
2、最后通过以下语句获取配置文件中相应的Bean
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
CourseService cs = (CourseService)wac.getBean("courseService");
Course model = cs.get(Integer.parseInt(courseId));
model.setDuration((int)ls);
cs.update(model);