看完關于ioc,bean裝載和aop之后的思考,不知道對不對?
IOC即DI,不必調用者自己去new被調用對象,而是通過spring IOC容器把配置好的bean對象注入,可以通過設置注入即setter方法和構造器注入。bean裝載可以通過xml配置設定,也可以同過設定掃描路徑,然后通過注解來讓容器識別到要裝載的bean。aop面向切面編程,切面與業務是垂直的,不同業務往往都要做一些公共的類似的額外操作,在業務之前做,或在業務之后做,或在業務出了異常時做,或者在業務前后都要做,甚至這些要做的額外操作要用到業務本身的輸入參數和業務完成的輸出結果。比如業務一般都得記錄日志,比如涉及數據更新的業務完成后都得伴隨數據庫操作,賬戶各種操作前都要驗證用戶權限,這些業務伴隨的操作往往大致相似,如果每個業務都要寫這些操作,特別繁瑣,把這些操作提出來就成了切面,與業務分離。xml 和API方式都可以實現aop配置,pointcut是業務,aspect是切面,它倆怎么交互執行,怎么傳參和調用結果,都可以通過xml和API方式實現。另外還有配置代理這一塊比較蒙逼。最牛逼的是,之前看得傻了眼那么繁瑣和復雜的xml,api方式用簡單直觀的aspectj方式竟然能等效實現,用的純Java標簽,在xml 里設一下自動代理。不過僅僅@Aspect容器不識別,要加上@Component 才識別。我覺得標簽簡直就是福音,差點我就被嚇的放棄了。我以為一輩子就只能寫xml了。orz,求指正不對的地方,小白求指教。。。
2019-09-25
看了你的總結瞬間懂了點啊,very good!
2019-03-14
哈哈,是這樣的??磥沓鯇W者都會有這種困惑。
2018-10-17
兄弟厲害了!
2018-09-06
一般實際工作中傾向于用注解實現,xml配置實現了解就可以
2018-08-07
看完你的總結,還有些懵逼的我瞬間把知識串聯了。。
2018-04-06
看完你的總結,還有些懵逼的我瞬間把知識串聯了。。
2018-02-20
總結的不錯
2017-03-11
怒贊一波
2017-02-26
講道理,總結得很好!我就直接吸收了哈。贊一個!