`

Bean 的加载时机和延迟加载

 
阅读更多
在ssh框架中,我们的beans.xml(或者spring.xml)里配置了bean的构造条件。
这里的bean默认都是在服务器启动时就直接加载到内存里的。
即我们类里的相关这些bean的set方法在服务器启动时候就立即调用,加载构造bean对象。

<bean name="/index"  
		class="action.IndexAction">
		<property name="roomBlo">
			<ref bean="roomBloProxy" />
		</property>
	</bean>



但是如果我们加了 lazy-init="true" 后, 服务器启动时就不加载了,直到我们访问/index.do 这个请求时候才加载,这就是延迟加载。

	<bean name="/index"  lazy-init="true"
		class="action.IndexAction">
		<property name="roomBlo">
			<ref bean="roomBloProxy" />
		</property>
	</bean>
分享到:
评论

相关推荐

    Spring 延迟实例化

    3. **测试环境**:在开发和测试环境中,可能需要提前实例化某些bean以进行测试,此时可以考虑关闭懒加载功能。 #### 七、总结 Spring框架中的延迟实例化是一项重要的优化技术,它可以帮助开发者更好地控制应用程序...

    Spring的Bean容器介绍

    BeanFactory与ApplicationContext在Bean加载上的主要区别在于初始化时机。BeanFactory采用延迟加载,而ApplicationContext则预先加载所有单例Bean。这使得ApplicationContext在获取Bean时响应更快,但可能会增加应用...

    基于springioc bean 的几个属性介绍

    lazy-init 属性用于控制 Bean 对象的创建时机。其默认值为 false,这意味着在 Spring 容器启动时就会加载这些类。这么做的优点是可以及时发现 Bean 相关的错误,因为 Spring 容器启动,Bean 也都会创建完毕,如果 ...

    1000行代码读懂Spring核心

    4. **从XML中读取BeanDefinition**:使用`BeanDefinitionReader`和`XmlBeanDefinitionReader`从XML文件加载配置。 - **BeanDefinitionReader**:配置读取者。 - **XmlBeanDefinitionReader**:专门从XML文件中读取...

    Java相关课程系列笔记之十五Spring学习笔记

    2.4 Bean对象创建的时机 Bean的实例化可以在容器启动时完成,也可以在第一次请求时懒加载。这取决于bean的lazy-init属性,如果为true,则延迟初始化。 2.5 为Bean对象执行初始化和销毁方法 通过定义init-method和...

    02.Spring组件及aop基本使用操作1

    然而,它们的初始化时机是不同的:AOP相关的bean通常在容器启动初期创建,而业务bean在需要时才会被初始化,以实现延迟加载。 在理解了这些基本概念后,你可以进一步研究`pjp.proceed()`的源码,它是`@Around`注解...

    spring 笔记

    2. 获取 Spring 容器对象:使用 `ClassPathXmlApplicationContext` 或 `FileSystemXmlApplicationContext` 加载配置文件,然后通过 `getBean()` 方法获取 Bean 对象。 3. 控制对象创建模式:默认情况下,Spring 使用...

    八股知识点自我整理.md

    - **使用场景**:`FactoryBean`适用于需要创建复杂Bean或者延迟加载Bean的情况。 综上所述,Spring框架通过一系列的设计模式和功能特性,极大地简化了Java应用的开发过程,提高了代码的可维护性和可扩展性。无论是...

    hibernate v3.04中文参考手册

    - 适当使用FetchType.LAZY和EAGER,控制关联对象的加载时机。 通过深入学习和实践Hibernate V3.04中文参考手册,开发者能熟练掌握ORM技术,提高Java应用的数据访问效率,同时理解面向对象与关系数据库之间的桥梁,...

    spring应用

    - `BeanFactory`是最基本的容器接口,它通过`ClassPathResource`和`FileSystemResource`等方式加载配置文件。 - `ApplicationContext`是更高级的容器接口,推荐使用。它支持国际化、事件发布机制,并且启动时会...

    spring在web.xml中和在struts中的不同配置.[收集].pdf

    两者的主要区别在于初始化时机和依赖管理的方式,Spring的WebApplicationContext通过`web.xml`监听器或过滤器进行全局初始化,而Struts2插件则在Struts2的生命周期内处理依赖注入。选择哪种方式取决于项目的具体需求...

    笔试题(SSH) .doc

    8. Query的list方法返回结果集列表,iterator方法返回迭代器,两者的主要区别在于数据加载时机,list会一次性加载所有结果,iterator则按需加载。 9. SSH整合主要涉及Spring管理Struts2的Action,以及Spring管理...

    hibernate annotation 中文文档

    - **2.4.5.1 延迟选项和获取模式**:`@Lazy` 注解可以用来控制关联对象的加载时机。 - **2.4.6 关于集合类型的注解** - **2.4.6.1 参数注解**:`@ElementCollection` 用于处理非实体类型的集合属性。 - **2.4.6.2...

    饿汉式策略在分布式数据库系统中的应用.pptx

    - **延迟加载:** 将单例对象放置在静态内部类中,仅在访问单例对象时才加载内部类。 - **线程安全:** 利用 Java 虚拟机对静态类的加载机制确保单例对象只被实例化一次。 - **优点:** 避免了不必要的内存占用,...

    (2024)跳槽涨薪必备精选面试题.pdf

    - 如果父类加载器无法加载,则由子类加载器尝试加载。 5. **Tomcat中为什么要使用自定义类加载器** - 解决类路径冲突问题。 - 提高安全性,避免不同应用间类的相互干扰。 6. **Tomcat如何进行优化?** - 调整 ...

    WebSphere_Application_Server常见问题及解答.pdf

    文档还探讨了在WAS中实现自定义多线程编程和类加载器的可能性,以及在WebSphere应用服务器集群环境中应用程序间的相互访问问题。最后,它讨论了EJB部署代码的生成时机以及Java EE开发的最佳实践。 集群部分,文档为...

    JS分页的实现(同步与异步)

    这种做法的主要问题是数据传输量大,如果数据量过于庞大,可能导致网络延迟,服务器压力增加,以及用户等待时间过长。例如,假设有一个包含99999万条记录的商品表,一次性加载所有数据不仅消耗流量,还会对服务器...

Global site tag (gtag.js) - Google Analytics