今天寫springboot項目時,發現控制器中的邏輯代碼過多,就想把多餘的代碼放在util類中。但是util中調用service方法不能直接調用,經過嘗試問題解決,並做一下筆記。
一、工具類寫法
@Component
public class ExcelReleaseUtil {
@Autowired
private TperformanceService performanceService;
...
}
這裏@Autowired和@Resource註解都可以。
@Autowired註解是Spring的註解,而@Resource是j2ee自帶的,具體的區別請查看
Spring註解@Resource和@Autowired區別對比
二、Controller控制器調用
@Controller
public class PerformanceController {
@Autowired
private ExcelReleaseUtil excelReleaseUtil ;
...
}
用到的兩種註解的作用如下:
@Component:
將ExcelReleaseUtil 類實例化到Spring容器中,相當如傳統配置中的< bean id=" " class=" "/>
@Autowired:
自動裝配Bean