一、Spring Framework
1.1、概述
- Spring是一個輕量級的開源的JavaEE框架;
- Spring可以解決企業應用開發的復雜性;
- Spring有兩個核心部分:IOC和AOP
①??IOC:控制反轉,把創建對象的過程交給Spring進行管理;
②?AOP:面向切面編程,即:在不修改源代碼的情況下進行功能增強;- Spring特點:
① 方便解耦、簡化開發(AOP實現);????????
②?AOP編程支持;
③?方便程序測試(Spring整合Junit單元測試);
④?方便和其他框架進行整合(整合JdbcTemplate、整合MyBatis、整合Redis...);
⑤?方便進行事務操作(聲明式事務【xml方式】、聲明式事務【注解方式】);
⑥?降低API開發難度(IOC實現);
1.2、談談你對Spring的理解(面試)
????????Spring是一個生態,是一個輕量級的開源容器框架,可以構建Java應用所需要的一切基礎設施,它的出現是為了解決企業級應用開發中業務邏輯層和其他各層對象與對象之間耦合的問題,通常情況下所說的Spring是指Spring Framework。
1.3、?Spring的優缺點是什么(面試)
優點:
? ? ? ? ① 集中管理對象,降低對象和對象之間的耦合性,方便維護對象;
????????② 在不修改代碼的情況下可以對業務代碼進行增強,減少重復代碼,提高開發效率,方便維護;
????????③ 提高開發效率,只需要一個@Transactional注解,即可完成事務管理;
????????④ Spring實現了測試,使我們可以結合Junit非常方便的測試Spring Bean、SpringMVC;
????????⑤ 擁有非常強大的粘合度,集成能力非常強,只需要簡單的配置就可以集成第三方框架;
????????⑥ 簡化開發,幫我們封裝了很多功能性的代碼
? ? ? ? ⑦ Spring的底層大量使用了反射、設計模式等技術,提供了非常多的擴展接口供外部進行擴展,很值得我們去學習;缺點:
? ? ? ? ①?從應用層方面來講Spring是沒有缺點的;
? ? ? ? ②?Spring簡化了我們的日常開發,但是如果我們想要深入到底層去了解的話就非常困難(上層使用越簡單,底層封裝的就越復雜);
????????③?源碼缺點:由于Spring大而全,代碼量非常龐大(100多萬行代碼),對于去深入學習研究帶來了一定的困難;