ssh开发的一个项目,由于特殊情况,需要在service层直接调用dao.而不是从页面->action->service->dao .
所以使用了ApplicationContext这个对象去得到dao,问题是使用他这个对象加载每次都要去加载配置文件,再去getBean("xxDao"),能不能像从页面调用action再调用service调用dao那样,只在项目启动的时候加载一次,后面要调用直接查询的sql就好了,而不需要再去加载配置文件了。
目前我想的办法就是把这个对象写成静态的,但是这样会一直占用堆栈空间,对程序影响不好。
哪位有什么好的方式或建议请指点指点。
所以使用了ApplicationContext这个对象去得到dao,问题是使用他这个对象加载每次都要去加载配置文件,再去getBean("xxDao"),能不能像从页面调用action再调用service调用dao那样,只在项目启动的时候加载一次,后面要调用直接查询的sql就好了,而不需要再去加载配置文件了。
目前我想的办法就是把这个对象写成静态的,但是这样会一直占用堆栈空间,对程序影响不好。
哪位有什么好的方式或建议请指点指点。
解决方案 »
- servlet中的Filter不是纯粹的责任链吧?
- 求助了。Spring动态定时器。。。
- 如何在单元测试(Junit3)中获取TOMCAT 路径
- 关于ActionForm的应用
- 请问:同一的项目 WebLogic下Hibernate的Qurey查询为什么会抛ClassNotFount异常,在Tamcat下就OK
- struts中html:checkbox更改记录时自行选中或不选
- oracle + weblogic + jb9的数据库连接问题
- 问题出在哪???请指教
- 用PreparedStatment向数据库查询数据,怎么才能打印出sql语句?
- 两个ejb在不同的包里,如何把其中一个ejb作为client,调用另一个呢?我试了半天还是不行啊!
- ext动态树的问题。我菜的很。
- 关于从数据库取数发送性能问题
在web.xml里面加上这段话
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!-- 你所有的spring配置文件的路径.如:-->
classpath*:spring-config/applicationContext-*.xml;
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>项目一启动.他就自动加载了把所有的bean交给spring管理吧。不要用getBean()了。你累不
普通情况当然直接在action层注入,一直注入到dao层.现在的问题是不通过action层注入,在service层直接去拿dao对象,比如说写个test类测试,又或者webservice调用,不用getBean()? 难道有更高的招?
我觉得你对IOC还是没有理解..
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter> <filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> <listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>java类里:
XDAO xDao;
setXDao..方法里直接用xDao.save...时候,xDao根本没注入进来.貌似你使用过这方式 ?