if (!WebUtils.isEmpty(appAppService.getByAppid(id))) {
LOGGER.info(":bind app info");
errorNum++;
}
if (!WebUtils.isEmpty(appDownloadCensusService.getByAppid(id))) {
LOGGER.info(":bind bi info");
errorNum++;
}
if (!WebUtils.isEmpty(appManuCensusService.getByAppid(id))) {
LOGGER.info(":bind download info");
errorNum++;
}
if (!WebUtils.isEmpty(appOrderService.getByAppid(id))) {
LOGGER.info(":bind order info");
errorNum++;
}
if (!WebUtils.isEmpty(appShareService.getByAppid(id))) {
LOGGER.info(":bind share info");
errorNum++;
}
......
эти xxxService являются свойствами @Autowired, а "...." представляет другие подобные операторы if. Как можно избежать этого путем рефакторинга кода? Я пытался использовать отражение, чтобы получить xxxService, но обнаружил, чтокласс xxxService может быть создан, но свойства в них, например, xxxxDao, SessionFactory (я использовал Hibernate), не могут быть созданы отражением, как я могу это сделать? Или если есть какой-либо другой способ решить проблему проверки if?
То, что я действительно хочу, - это как реорганизовать код, чтобы он выглядел более привлекательно: как можно избежать такого количества операторов if?