工具类SpringBeanUtil
package com.firefly.performance.core.common;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringBeanUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringBeanUtil.applicationContext = applicationContext;
}
public static <T> T getBean(Class<T> clazz) {
return applicationContext.getBean(clazz);
}
}
调用
public Boolean importTargetImportTool(Long userId, String userName, Long firmId, String firmName, MultipartFile file) throws IOException {
//事务保存数据
SpringBeanUtil.getBean(TargetImportToolTableService.class).batchSaveOrUpdateTemplateInfo(templateInfoList);
return true;
}
//事务保存数据(同一个类中事务保存必须获取Bean对象调用,直接调用事务不会生效)
@Transactional(rollbackFor = Exception.class)
public void batchSaveOrUpdateTemplateInfo(List<PerformanceTemplateInfo> templateInfoList) {
for (PerformanceTemplateInfo templateInfo : templateInfoList) {
performanceTemplateOrgService.createOrUpdateOrgTemplate(templateInfo);
}
}