作用

InitializingBean的作用是Bean注入到Spring容器且初始化后,执行特定业务化的操作。Spring允许容器中的Bean,在Bean初始化完成后或者Bean销毁前,执行特定业务化的操作,常用的实现方式有以下三种:

  • 通过实现InitializingBean/DisposableBean接口来处理初始化后/销毁前的操作;
  • 通过标签的init-method/destroy-method属性处理初始化后/销毁前的操作;
  • 在指定方法上加上@PostConstruct或@PreDestroy注解来处理初始化后/销毁前的操作。

实现

如果采用实现InitializingBean接口的方式去执行特定业务化的操作,则需要重写afterPropertiesSet这仅有的一个方法。

代码

package com.hadoopx.drools;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.util.StringUtils;

@Slf4j
@Data
public class KieAccessor implements InitializingBean {
    private String path;
    private String mode;
    private Long update;
    private String listener;
    private String verify;

    @Override
    public void afterPropertiesSet() throws Exception {

        if (StringUtils.isEmpty(path)) {
            log.error("PLEASE SET THE RULE'S PATH: (spring.drools.path = XXX).");
        }
    }
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐