spring启动的优化 default-lazy-init=true
项目采用struts2+spring+hibernate实现,项目的规模不算很大,但系统启动起来很慢原因在于:spring容器启动并解释所有的bean配置文件,这个很耗时间。发现spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy- load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初始化
·
项目采用struts2+spring+hibernate实现,项目的规模不算很大,但系统启动起来很慢
原因在于:
spring容器启动并解释所有的bean配置文件,这个很耗时间。
发现spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy- load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初始化ACTION配置、到 service配置到dao配置、乃至到数据库连接、事务等等。这么庞大的规模,难怪spring的启动时间要这么久。
尝试了一下,把beans的 default-lazy-init改为true就,再次启动,发现节省了不少时间。
以上是针对开发阶段的spring容器启动优化,在部署到实际环境中,倒是没必要设置为lazy-load。毕竟部署到实际环境中不是经常的事,每次启动1分钟倒不是大问题。
并不是说有的beans都能设置default-lazy-init成为true.对于scheduler的bean不能用lazy-init
更多推荐
已为社区贡献1条内容
所有评论(0)