@PostConstruct注解用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。
@PreDestroy是用来在程序shutdown之前做一些clear up的操作。
两者实现Bean初始化之前和销毁之前的自定义操作。
@Component
public class SdkInitAndDestroyHandler
{/*** log*/private static final Logger LOGGER = LoggerFactory.getLogger(SdkInitAndDestroyHandler.class);@Autowiredprivate NvrSdkManager nvrSdkManager;@Autowiredprivate NvrDHSdkManager nvrDHSdkManager;@Autowiredprivate NvrUNSdkManager nvrUNSdkManager;/*** <init>** @throws*/@PostConstructpublic void init(){LOGGER.info("start to init nvr sdk.");try{nvrSdkManager.nvrInit();nvrDHSdkManager.nvrInit();nvrUNSdkManager.nvrInit();}catch (Exception e){LOGGER.info("init nvr sdk error, cause:", e);return;}LOGGER.info("end to init nvr sdk.");}/*** <clean up>** @throws*/@PreDestroypublic void destory(){LOGGER.info("start to clear up nvr sdk.");try{nvrSdkManager.nvrClearUp();nvrDHSdkManager.nvrClearUp();
// nvrUNSdkManager.nvrClearUp();}catch (Exception e){LOGGER.info("clear up nvr sdk error, cause:", e);return;}LOGGER.info("end to clear up nvr sdk.");}
}