@Data
@AllArgsConstructor
@RequiredArgsConstructor
都会针对final成员变量生成构造函数,所以,可以省略@Autowired、@Inject、@Resource等依赖注入注解。
@NoArgsConstructor
Constructor先于@Autowired注解生效。
例如:
/**
* @auther: chenjh
* @since: 2019/6/11 7:45
*/
@Component
@ConditionalOnExpression("'${cache.clean.enabled:false}'.equals('true')")
public class SchedulerCleanConfig {
private final Logger logger = LoggerFactory.getLogger(SchedulerCleanConfig.class);
private final CacheService cacheService;
public SchedulerCleanConfig(CacheService cacheService) {
this.cacheService = cacheService;
}
private final String fileDir = ConfigConstants.getFileDir();
//默认每晚3点执行一次
@Scheduled(cron = "${cache.clean.cron:0 0 3 * * ?}")
public void clean() {
logger.info("Cache clean start");
cacheService.cleanCache();
KkFileUtils.deleteDirectory(fileDir);
logger.info("Cache clean end");
}
}
来源:oschina
链接:https://my.oschina.net/u/3971821/blog/4932023