天天看點

Java Spring架構是什麼?它有哪些好處?

Spring 是另一個主流的 Java Web 開發架構,該架構是一個輕量級的應用架構,具有很高的凝聚力和吸引力。Spring 架構因其強大的功能以及卓越的性能而受到衆多開發人員的喜愛。

Spring 是分層的 Java SE/EE full-stack 輕量級開源架構,以 IoC(Inverse of Control,控制反轉)和 AOP(Aspect Oriented Programming,面向切面程式設計)為核心,使用基本的 JavaBean 完成以前隻可能由 EJB 完成的工作,取代了 EJB 臃腫和低效的開發模式。

在實際開發中,通常伺服器端采用三層體系架構,分别為表現層(web)、業務邏輯層(service)、持久層(dao)。

Spring 對每一層都提供了技術支援,在表現層提供了與 Struts2 架構的整合,在業務邏輯層可以管理事務和記錄日志等,在持久層可以整合 Hibernate 和 JdbcTemplate 等技術。

從設計上看,Spring 架構給予了 Java 程式員更高的自由度,對業界的常見問題也提供了良好的解決方案,是以,在開源社群受到了廣泛的歡迎,并且被大部分公司作為 Java 項目開發的首選架構。

Spring 具有簡單、可測試和松耦合等特點,不僅可以用于伺服器端的開發,也可以應用于任何 Java 應用的開發中。Spring 架構的主要優點具體如下。

1)友善解耦,簡化開發

Spring 就是一個大工廠,可以将所有對象的建立和依賴關系的維護交給 Spring 管理。

2)友善內建各種優秀架構

Spring 不排斥各種優秀的開源架構,其内部提供了對各種優秀架構(如 Struts2、Hibernate、MyBatis 等)的直接支援。

3)降低 Java EE API 的使用難度

Spring 對 Java EE 開發中非常難用的一些 API(JDBC、JavaMail、遠端調用等)都提供了封裝,使這些 API 應用的難度大大降低。

4)友善程式的測試

Spring 支援 JUnit4,可以通過注解友善地測試 Spring 程式。

5)AOP 程式設計的支援

Spring 提供面向切面程式設計,可以友善地實作對程式進行權限攔截和運作監控等功能。

6)聲明式事務的支援

隻需要通過配置就可以完成對事務的管理,而無須手動程式設計。