package cn.lili.common.sensitive.init; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.sensitive.SensitiveWordsFilter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import java.util.List; /** * 敏感词加载 * * @author Chopper * @version v1.0 * 2021-11-23 12:08 */ @Component @Slf4j public class SensitiveWordsLoader implements ApplicationRunner { @Autowired private Cache> cache; /** * 程序启动时,获取最新的需要过滤的敏感词 *

* 这里即便缓存中为空也没关系,定时任务会定时重新加载敏感词 * * @param args 启动参数 */ @Override public void run(ApplicationArguments args) { List sensitives = cache.get(CachePrefix.SENSITIVE.getPrefix()); log.info("系统初始化敏感词"); if (sensitives == null || sensitives.isEmpty()) { return; } SensitiveWordsFilter.init(sensitives); } }