需要注意的Spring中的getBean方法
2009-12-25 10:13
393 查看
项目使用的是SpringMVC,利用了Spring的事务拦截器进行事务控制
但在写filter时,filter却是与Spring无关的,当时在filter中这样得到业务类:
ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationContext-*.xml");
XXXX(Interface) xxx = (XXXX) ctx.getBean("xxxx");
后发现每进行一次经过filter操作时,连接数就猛增(增加数为连接池的连接数)
后发现原来是getBean()方法的问题,每次访问都重新加载一次applicationContext-*.xml(连接池配置在其中的一个),也就重新加载一次连接池(原连接池未释放,相当于在一个程序中开了若干个连接池)
后修改为从Web容器中上下文中获取Bean
XXXX(Interface) xxx = (XXXX) WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext()).getBean("xxxx");
得以正常
如果是容器外加载就要用到(可做非WEB的测试)
ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationContext-*.xml");
XXXX(Interface) xxx = (XXXX) ctx.getBean("xxxx");
但在写filter时,filter却是与Spring无关的,当时在filter中这样得到业务类:
ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationContext-*.xml");
XXXX(Interface) xxx = (XXXX) ctx.getBean("xxxx");
后发现每进行一次经过filter操作时,连接数就猛增(增加数为连接池的连接数)
后发现原来是getBean()方法的问题,每次访问都重新加载一次applicationContext-*.xml(连接池配置在其中的一个),也就重新加载一次连接池(原连接池未释放,相当于在一个程序中开了若干个连接池)
后修改为从Web容器中上下文中获取Bean
XXXX(Interface) xxx = (XXXX) WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext()).getBean("xxxx");
得以正常
如果是容器外加载就要用到(可做非WEB的测试)
ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationContext-*.xml");
XXXX(Interface) xxx = (XXXX) ctx.getBean("xxxx");
相关文章推荐
- 使用Spring的JndiObjectFactoryBean配置数据源时需要注意的问题
- Spring中使用BeanPostProcessor需要注意的地方
- Spring杂记BeanFactory之getBean方法
- Spring ApplicationContext 中的getBean方法的深入分析
- C# System.Type.GetMethod 方法需要注意的问题
- spring getbean 方法分析
- Spring在web应用中获得Bean的方法 实现getBean方法
- 分析Spring的BeanFactory与ApplicationContext的getBean方法-----区别
- Android开发:用getDrawingCache方法获取ImageView中的图像需要注意的问题 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http:/
- 用getDrawingCache方法获取ImageView中的图像需要注意的问题
- JQUERY中的getJSON方法需要注意的一个地方:单引号与双引号
- 去掉对Spring BeanFacotry的getBean方法的依赖
- Spring通过实现getBean方法获得Bean的实例
- jQuery 中get 和post 方法传值需要注意
- [Spring]Spring Bean的初始化 ---- getBean方法
- Spring在web应用中获得Bean的方法 实现getBean方法
- spring学习-分步getBean方法(1)
- AndroidGUI29:用getDrawingCache方法获取ImageView中的图像需要注意的问题
- getDrawingCache方法获取ImageView中的图像需要注意的问题
- spring getbean 方法分析