spring Bean的生命周期 @PostConstruct和@PreDestroy以及InitializingBean,DisposableBean bean的生命周期:bean创建---初始化---销毁的过程; 在spring容器中,我们在注入bena的时候,可以指定bean的初始化方法和销毁方法,bean在容器的创建过程中,有三种形式,可以指定初始化和销毁方法 1:通过@Bean指定init-method和destroy-...
比如说我们的一个类里有一个属性,但是该属性不支持Spring注入,只能通过Build或者new的方式创建,而我们又想在spring装配Bean的时候一起将该属性注入进来,那使用InitializingBean、initMethod或@PostConstruct再合适不过了。 2. initMethod和InitializingBean 2.1 从initMethod说起 进行过spring配置开发的肯定对下面的配置非常...
注解@PostConstruct InitializingBean的afterPropertiesSet方法 2 三种方法实现 先准备一个类用于测试,代码如下: publicclassBeanLifeCheckimplementsInitializingBean{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(BeanLifeCheck.class);@Value("${spring.application.name}")privateString applicationName;publicBeanLifeChec...
public void postConstruct() { logger.info("BeanLifeCheck: postConstruct " + applicationName); } 2.3 InitializingBean的afterPropertiesSet方法 需要类实现接口InitializingBean,如下: @Override public void afterPropertiesSet() throws Exception { logger.info("BeanLifeCheck: afterPropertiesSet " + applicationName);...
@PostConstruct public void postConstruct() { logger.info("BeanLifeCheck: postConstruct " + applicationName); } 2.3 InitializingBean的afterPropertiesSet方法 需要类实现接口InitializingBean,如下: @Override public void afterPropertiesSet() throws Exception { logger.info("BeanLifeCheck: afterPropertiesSet " + ap...
Bean初始化操作initMethod、@PostConstruct和InitializingBean 1 简介 很多时间当一个Bean被创建出来后,我们希望做一些初始化操作,如初始化数据、缓存预热等。有以下三种方法: 初始化方法initMethod 注解@PostConstruct InitializingBean的afterPropertiesSet方法 2 三种方法实现 ...
很多时间当一个Bean被创建出来后,我们希望做一些初始化操作,如初始化数据、缓存预热等。有以下三种方法: 初始化方法initMethod 注解@PostConstruct InitializingBean的afterPropertiesSet方法 #2 三种方法实现 先准备一个类用于测试,代码如下: publicclassBeanLifeCheckimplementsInitializingBean{privatestaticfinalLoggerlogger=Log...
第二:反射原理,配置文件使用init-method标签直接注入bean 相同点: 实现注入bean的初始化。 不同点: (1)实现的方式不一致。 (2)接口比配置效率高,但是配置消除了对spring的依赖。而实现InitializingBean接口依然采用对spring的依赖。 执行顺序优先级 构造方法 > postConstruct >afterPropertiesSet > init方法。
一、InitializingBean实现 InitializingBean简介: InitializingBean是Spring提供的拓展性接口,InitializingBean接口为bean提供了属性初始化后的处理方法,它只有一个afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。 InitializingBean用法: ...
很多时间当一个Bean被创建出来后,我们希望做一些初始化操作,如初始化数据、缓存预热等。有以下三种方法: 初始化方法initMethod 注解@PostConstruct InitializingBean的afterPropertiesSet方法 2 三种方法实现 先准备一个类用于测试,代码如下: publicclassBeanLifeCheckimplementsInitializingBean{privatestaticfinalLoggerlogger=Logge...