IOC 叫做控制反轉(zhuǎn)焕盟,指的是通過Spring來管理對(duì)象的創(chuàng)建秋秤、配置和生命周期,這樣相當(dāng)于把控制權(quán)交給了Spring脚翘,不需要人工來管理對(duì)象之間復(fù)雜的依賴關(guān)系灼卢,這樣做的好處就是解耦。在Spring里面来农,主要提供了 BeanFactory 和 ApplicationContext 兩種 IOC 容器鞋真,通過他們來實(shí)現(xiàn)對(duì) Bean 的管理。
AOP 叫做面向切面編程沃于,他是一個(gè)編程范式涩咖,目的就是提高代碼的模塊性。Spring AOP 基于動(dòng)態(tài)代理的方式實(shí)現(xiàn)繁莹,如果是實(shí)現(xiàn)了接口的話就會(huì)使用 JDK 動(dòng)態(tài)代理尖奔,反之則使用 CGLIB 代理仅乓,Spring中 AOP 的應(yīng)用主要體現(xiàn)在 事務(wù)奢人、日志风纠、異常處理等方面,通過在代碼的前后做一些增強(qiáng)處理薄风,可以實(shí)現(xiàn)對(duì)業(yè)務(wù)邏輯的隔離饵较,提高代碼的模塊化能力,同時(shí)也是解耦遭赂。Spring主要提供了 Aspect 切面告抄、JoinPoint 連接點(diǎn)、PointCut 切入點(diǎn)嵌牺、Advice 增強(qiáng)等實(shí)現(xiàn)方式打洼。