Spring是一個開源框架,為簡化企業(yè)級應(yīng)用開發(fā)而生。Spring可以使簡單的JavaBean實現(xiàn)以前只有EJB才能實現(xiàn)的功能。Spring是一個IOC和AOP容器框架。Spring容器的主要核心是:
? ??●? ? 控制反轉(zhuǎn)(IOC):傳統(tǒng)的java開發(fā)模式中,當(dāng)需要一個對象時,會使用new或者getInstance等直接或者間接調(diào)用構(gòu)造方法創(chuàng)建一個對象。而在spring開發(fā)模式中,spring容器使用了工廠模式創(chuàng)建了所需要的對象,不需要自己創(chuàng)建,直接調(diào)用spring提供的對象就可以,這是控制反轉(zhuǎn)的思想。
? ??●? ? 依賴注入(DI),spring使用javaBean對象的set方法或者帶參數(shù)的構(gòu)造方法在創(chuàng)建所需對象時將其屬性自動設(shè)置所需要的值的過程,就是依賴注入的思想。
? ??●? ? 面向切面編程(AOP):在面向?qū)ο缶幊?oop)思想中,將事物縱向抽成一個個的對象。而在面向切面編程中,將一個個的對象某些類似的方面橫向抽成一個切面,對這個切面進行一些如權(quán)限控制、事物管理,記錄日志等。公用操作處理的過程就是面向切面編程的思想。AOP底層是動態(tài)代理,如果是接口采用JDK動態(tài)代理,如果是類采用CGLIB方式實現(xiàn)動態(tài)代理。