簡介
Spring是一個輕量級的企業級的Java開發框架。主要是用來替代原來更加重量級的企業級Java技術,比如EJB(Enterprise JavaBean)、Java數據對象(Java Data Object)等。Spring的出現極大簡化了Java開發。
另外Spring框架是一個一體化的框架,它不僅能無縫對接比如Struts、Hibernate等傳統框架,也能很好地同其他各種企業級開發組件(比如Redis、MQ、Mybatis等)集成。
Spring發展到現在,已經不僅僅是一個開發框架了,而是一個生態。Spring框架本身提供了大量可集成到應用中組件,SpringBoot通過“約定優於配置的思想”進一步提高了開發效率,成為構建微服務應用的最佳選擇,SpringCloud則提供了一套分布式工具組件,讓構建分布式系統更加簡單。
Spring就是要簡化Java開發
Spring一直致力於簡化Java開發使命中,為了降低Java開發的復雜性,Spring通過如下4種關鍵策略來簡化Java開發:
- 基於POJO的輕量級和最小侵入性編程;
- 通過依賴注入和面向接口編程實現松耦合;
- 基於切面和慣例進行聲明式編程;
- 通過切面和模板減少樣板式代碼。
Spring框架中的幾個重要概念
依賴注入(DI)
對象之間的依賴關系,不再由對象自身來維護了。而是由spring負責管理了。依賴關系將會由spring負責自動注入到需要的對象中。
切面編程(AOP)
應用中的一些橫切關注點,比如日志、安全、事務管理等,各個模塊都需要的服務,不應該耦合在各個業務模塊中來。應該單獨抽離出來成為一個切面,實現解耦。Spring提供了AOP的支持,可以通過配置實現切面編程。
Ioc容器(ApplicationContext)
在基於Spring的應用中,你的所有Bean對象都存在於Spring容器中,容器負責創建和管理他們的整個生命周期。ApplicationContext應用上下文對象是Spring容器的一種實現。通過應用上下文對象我們可以獲取應用中bean。
Spring模塊概述
一圖勝千言
可以看到spring其實包含了20多個不同的模塊。
1、spring核心容器,包含四大模塊,分別是Beans、Core、Context和SpEL。這是構成spring框架的核心組件。
2、再網上是AOP、Aspects切面編程相關組件,Instrunmentation是JVM添加代理,Messaging消息代理。
3、JDBC、ORM、JMS等數據訪問組件。
4、Servlet、WebScoket等web層相關組件。
5、最后spring也提供了測試模塊,可以集成Junit單元測試等。
推薦幾個Spring學習途徑
1、 當然優先是spring官網,查看官方文檔學習
2、W3Cschool
3、CSDN或博客園等技術文章