在Java Web应用中获取Spring治理的Bean的方法

在Java Web应用中获取Spring管理的Bean的方法前段时间在项目中遇到了这样一种问题:需要在JSP中访问后台由S

在Java Web应用中获取Spring管理的Bean的方法

        前段时间在项目中遇到了这样一种问题:需要在JSP中访问后台由Spring管理的业务类代码,而这些业务类内部又涉及到了其它若干类的注入,如jdbc的service。

        首先想到的是使用WebApplicationContext,即在jsp页面中以servletContext为参数,调用WebApplicationContextUtils工具的getWebApplicationContext或getRequiredWebApplicationContext方法:

        于是,我们只需要(在jsp页面)中引用SpringContextHolder,就可以轻松获取Spring管理的bean了:

ReportFunctions reportF =SpringContextHolder.getBean(ReportFunctions.class);

 

        不过话说回来,提醒大家要注意的是,虽然jsp页面可以很方便地引用后台的所有业务代码,jsp页面应该主要用于展示层,而不应该混入过多的控制层代码。