Spring概述和快速構建的方式
什麼是Spring框架
* Spring是一個開源框架
* Spring是於2003 年興起的一個輕量級的Java開發框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。
* 它是為瞭解決企業應用開發的復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。
* Spring使用基本的JavaBean來完成以前隻可能由EJB完成的事情。然而,Spring的用途不僅限於服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以 從Spring中受益。
* Spring的核心是控制反轉(IoC)和面向切面(AOP)。簡單來說,Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。
* EE開發分成三層結構
* WEB層 — Spring MVC
* 業務層 — Bean管理:(IOC)
* 持久層 — Spring的JDBC模板.ORM模板用於整合其他的持久層框架
Spring框架的特點
1. 為什麼要學習Spring的框架
* 方便解耦,簡化開發
* Spring就是一個大工廠,可以將所有對象創建和依賴關系維護,交給Spring管理
* AOP編程的支持
* Spring提供面向切面編程,可以方便的實現對程序進行權限攔截、運行監控等功能
* 聲明式事務的支持
* 隻需要通過配置就可以完成對事務的管理,而無需手動編程
* 方便程序的測試
* Spring對Junit4支持,可以通過註解方便的測試Spring程序
* 方便集成各種優秀框架
* Spring不排斥各種優秀的開源框架,其內部提供瞭對各種優秀框架(如:Struts2、Hibernate、MyBatis、Quartz等)的直接支持
* 降低JavaEE API的使用難度
* Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail、遠程調用等),都提供瞭封裝,使這些API應用難度大大降低
2. Spring框架的版本
* Spring3.x和Spring4.x的版本
Spring概述
簡介
- Spring是一個開源免費的框架 , 容器 .
- Spring是一個輕量級的框架 , 非侵入式的 .
- 控制反轉 IoC , 面向切面 Aop
- 對事物的支持 , 對框架的支持
一句話概括:Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器(框架)。
spring框架
Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。Spring 模塊構建在核心容器之上,核心容器定義瞭創建、配置和管理 bean 的方式 .
- 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory ,它是工廠模式的實現。 BeanFactory 使用控制反轉(IOC) 模式將應用程序的配置和依賴性規范與實際的應用程序代碼分開。
- Spring 上下文:Spring 上下文是一個配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業服務,例如 JNDI、EJB、電子郵件、國際化、校驗和調度功能。
- Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向切面的編程功能 , 集成到瞭 Spring框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的對象。Spring AOP 模塊為基於Spring 的應用程序中的對象提供瞭事務管理服務。通過使用 Spring AOP,不用依賴組件,就可以將聲明性事務管理集成到應用程序中。
- Spring DAO:JDBC DAO 抽象層提供瞭有意義的異常層次結構,可用該結構來管理異常處理和不同數據庫供應商拋出的錯誤消息。異常層次結構簡化瞭錯誤處理,並且極大地降低瞭需要編寫的異常代碼數量(例如打開和關閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。
- **Spring ORM:**Spring 框架插入瞭若幹個 ORM 框架,從而提供瞭 ORM 的對象關系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結構。
- Spring Web 模塊:Web 上下文模塊建立在應用程序上下文模塊之上,為基於 Web 的應用程序提供瞭上下文。所以,Spring 框架支持與 Jakarta Struts 的集成。Web 模塊還簡化瞭處理多部分請求以及將請求參數綁定到域對象的工作。
- Spring MVC 框架:MVC 框架是一個全功能的構建 Web 應用程序的 MVC 實現。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納瞭大量視圖技術,其中包括 JSP、Velocity、Tiles、iText 和 POI。
spring核心是IOC和AOP,它的功能也是從這兩方面入手。
IOC本質
控制反轉IoC(Inversion of Control),是一種設計思想,DI(依賴註入)是實現IoC的一種方法,在以往的代碼中,對象的創建由程序自己控制,控制反轉後將對象的創建交由springIOC容器創建和管理,需要使用時從容器中拿到使用。
控制反轉是一種通過描述(XML或註解)並通過第三方去生產或獲取特定對象的方式。在Spring中實現控制反轉的是IoC容器,其實現方法是依賴註入(Dependency Injection,DI)。
spring快速構建
導入jar包
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency>
新建實體類
public class Hello { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void show() { System.out.println("Hello," + name); } }
在resourse下創建beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!--bean就是java對象 , 由Spring創建和管理--> <bean id="hello" class="com.lyj.bean.Hello"> <property name="name" value="Spring"/> </bean> </beans>
測試
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); //getBean : 參數即為spring配置文件中bean的id . Hello hello = (Hello) context.getBean("hello"); hello.show();
通過這種方式,就可以在xml中創建和管理一個id名為hello的,類型為Hello的的實體類對象實例,在Java代碼中通過方法直接獲取這個實例。
以上就是Spring概述和快速構建的詳細內容,更多關於Spring的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Java Spring框架創建項目與Bean的存儲與讀取詳解
- 一篇文章帶你Java Spring開發入門
- 詳解Spring容器的使用流程
- Spring項目中使用Junit單元測試並配置數據源的操作
- Java Spring框架簡介與Spring IOC詳解