servert 中如何调用spring管理的bean方法
来源:互联网 发布:高新区行知小学 重点 编辑:程序博客网 时间:2024/05/18 11:21
在应用中一般普通的JavaPojo都是由spring来管理的,所以使用autowire注解来进行注入不会产生问题,但是有两个东西是例外的,一个是 Filter,一个是Servlet,这两样东西都是由Servlet容器来维护管理的,所以如果想和其他的Bean一样使用Autowire来注入的 话,是需要做一些额外的功夫的。
对于Filter,Spring提供了DelegatingFilterProxy,所以本文主要讲述Servlet的解决。
1、比较直观但是不大优雅的做法是重写init()方法,在里面使用AutowireCapableBeanFactory来手工告诉Spring:我这个Servlet是需要这样的一个Bean的。具体写法:
init 中:
- public void init(ServletConfig servletConfig) throws ServletException {
- ServletContext servletContext = servletConfig.getServletContext();
- WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
- AutowireCapableBeanFactory autowireCapableBeanFactory = webApplicationContext.getAutowireCapableBeanFactory();
- autowireCapableBeanFactory.configureBean(this, BEAN_NAME);
- }
2.在doget或者doPust中加入以下代码:
- // servlet中调用spring中的Bean
- application = getServletContext();
- wac = WebApplicationContextUtils.getWebApplicationContext(application);// 获取spring的context
- IClientDao clientDao = (IClientDao) wac.getBean("clientDaoBean");
阅读全文
0 0
- servert 中如何调用spring管理的bean方法
- Servlet中调用Spring管理的Bean
- Struts的Acion中如何取得Spring管理的bean
- Spring中bean的调用
- 如何在线程中获取spring 管理的bean
- 如何在线程中获取spring 管理的bean
- 如何在线程中获取spring 管理的bean
- spring configuration 中 @Bean 方法的内部调用代理实现
- Spring中管理Bean的三种方法
- main方法中调用spring注入bean
- 如何在Listener(监听器)中使用spring容器管理的bean(自定义监听使用spring管理的bean)
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- 如何取得Spring管理的bean
- OpenCv 图像的放大和缩小
- 多视图几何之SVD
- 【php基础班】第10天 函数、return详解、函数调用、递归函数、数组
- vue 单页项目教程--微信公众号(微信支付遇到的坑)
- 一个java高级工程师的进阶之路【转】
- servert 中如何调用spring管理的bean方法
- Cypher查询语言
- 【软考】后缀式
- IIS中配置多个项目在同一个域名下
- 算法导论读书笔记(9)中位数和顺序统计量
- NGINX 配置双向SSL 证书
- 蓝桥杯 第六届决赛 密文搜索 JAVA
- SOA和Web Service简介
- centos简单搭建git服务端