前言
Spring Boot是基于Spring的用來(lái)開發(fā)Web應(yīng)用的框架,功能與Spring MVC有點(diǎn)類似,但是Spring Boot的一大特點(diǎn)就是需要的配置非常少。Spring Boot推薦convention over configuration,也就是約定大于配置,因此Spring Boot會(huì)幫你做許多自動(dòng)的配置,并且Spring Boot使用的是Java Config,幾乎可以做到零XML文件配置。
假設(shè)現(xiàn)在有這樣一種場(chǎng)景,需要統(tǒng)計(jì)某個(gè)接口的處理耗時(shí),我們可以使用AOP來(lái)實(shí)現(xiàn),AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。在Spring Boot中使用AOP也非常簡(jiǎn)單,只需要一點(diǎn)簡(jiǎn)單的配置即可。
需要使用AOP的類
@RestController public class DownloadController { @Autowired private XmlDownloadService downloadService; @Autowired private XmlFileClearService clearService; @RequestMapping("/download") @Timer public String download() throws Exception { downloadService.download(); clearService.compress(); clearService.clearAll(); return "ok"; } }