生命周期

Spring中管理Bean依赖注入之后和Bean销毁之前的行为

为君一笑 提交于 2019-12-01 09:15:38
对于Singleton作用域的Bean,Spring容器将会跟踪它们的生命周期,容器知道何时实例化结束、何时销毁。Spring可以管理Bean在实例化结束之后和Bean销毁之前的行为。 Bean依赖关系注入之后的行为: Spring提供了两种方式在Bean全部属性设置成功后执行特定的行为: 在Spring配置文件中使用init-method属性:这个属性指定某个方法在Bean全部依赖关系设置结束后自动执行。这个方法写在Bean里面。使用这种方法不需要将代码与Spring耦合在一起,代码污染小,推荐使用。 让Bean实现InitializingBean接口:该接口提供了一个afterPropertiesSet() throwsException方法,在Bean里面实现它。 Spring容器会在为该Bean注入依赖关系后,调用该Bean实现的afterPropertiesSet方法。先看例子: public interface Animal { public void eatFood(); } public class Dog implements Animal, InitializingBean { private Food food; public Dog() { System.out.println("Spring实例化主调Bean...Dog实例"); } public

Android零基础入门第86节:探究Fragment生命周期

假如想象 提交于 2019-11-28 19:41:45
一个Activity可以同时组合多个Fragment,一个Fragment也可被多个Activity 复用。Fragment可以响应自己的输入事件,并拥有自己的生命周期,但它们的生命周期直接被其所属的Activity的生命周期控制。 一、Fragment状态 与Activity类似的是,Fragment也存在如下4种状态: 运行状态:当前Fmgment位于前台,用户可见,可以获得焦点。 暂停状态:其他Activity位于前台,该Fragment依然可见,只是不能获得焦点。 停止状态:该Fragment不可见,失去焦点。 销毁状态:该Fragment被完全删除,或该Fragment所在的Activity被结束。 结合之前学习Activity的状态,理解Fragment的状态非常简单。 很多地方都在说明 Fragment有三个状态,包括官方文档没有提到Fragment的 销毁状态。这也是合理的,因为处于销毁状态的Fragment基本不可用了,只能等着被回收。 二、Fragment生命周期 Fragment的生命周期与Activity的生命周期十分相似,如下图所示: 从上图可以看出,Activity中的生命周期方法,Fragment中基本都有,但是Fragment比Activity多几个方法。各生命周期方法的含义如下: onAttach()