Spring 框架是 Java 應用最廣的框架,它的成功來源于理念,而不是技術本身,它的理念包括?IoC (Inversion of Control,控制反轉)?和?AOP(Aspect Oriented Programming,面向切面編程)。
Spring 的框架結構
- Data Access/Integration層包含有JDBC、ORM、OXM、JMS和Transaction模塊。
- Web層包含了Web、Web-Servlet、WebSocket、Web-Porlet模塊。
- AOP模塊提供了一個符合AOP聯盟標準的面向切面編程的實現。
- Core Container(核心容器):包含有Beans、Core、Context和SpEL模塊。
- Test模塊支持使用JUnit和TestNG對Spring組件進行測試。
?
Spring IoC 和 DI 簡介
IoC:Inverse of Control(控制反轉)
- 讀作“反轉控制”,更好理解,不是什么技術,而是一種設計思想,就是將原本在程序中手動創建對象的控制權,交由Spring框架來管理。
- 正控:若要使用某個對象,需要自己去負責對象的創建
- 反控:若要使用某個對象,只需要從 Spring 容器中獲取需要使用的對象,不關心對象的創建過程,也就是把創建對象的控制權反轉給了Spring框架
- 好萊塢法則:Don’t call me ,I’ll call you
?
?
參考:?https://www.tianmaying.com/tutorial/spring-ioc
https://www.tianmaying.com/tutorial/spring-ioc
https://www.tianmaying.com/tutorial/cross-origin-rest-service