溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從0到1上手Spring的方法教程

發(fā)布時間:2021-10-18 09:55:51 來源:億速云 閱讀:107 作者:柒染 欄目:web開發(fā)

從0到1上手Spring的方法教程,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Spring定義

Spring是一個開源框架,是為了解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構,分層架構允許您選擇使用哪一個組件,同時為 J2EE  應用程序開發(fā)提供集成的框架。Spring 框架的 7 個模塊,如下圖所示:

從0到1上手Spring的方法教程

每個模塊的功能如下:

Spring core:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是  BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory 使用控制反轉(IOC) 模式將應用程序的配置和依賴性規(guī)范與實際的應用程序代碼分開。

Spring ContextSpring 上下文是一個配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業(yè)服務,例如  JNDI、EJB、電子郵件、國際化、校驗和調度功能。

Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向切面的編程功能 , 集成到了 Spring 框架中。所以,可以很容易地使  Spring 框架管理任何支持 AOP的對象。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管理服務。通過使用 Spring  AOP,不用依賴組件,就可以將聲明性事務管理集成到應用程序中。

Spring DAO:JDBC DAO  抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同數(shù)據(jù)庫供應商拋出的錯誤消息。異常層次結構簡化了錯誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關閉連接)。Spring  DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。

Spring ORM:Spring 框架插入了若干個 ORM 框架,從而提供了 ORM 的對象關系工具,其中包括 JDO、Hibernate 和  iBatis SQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結構。

Spring Web:Web 上下文模塊建立在應用程序上下文模塊之上,為基于 Web 的應用程序提供了上下文。所以,Spring 框架支持與  Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到域對象的工作。

Spring MVC:MVC 框架是一個全功能的構建 Web 應用程序的 MVC 實現(xiàn)。通過策略接口,MVC 框架變成為高度可配置的,MVC  容納了大量視圖技術,其中包括 JSP、Velocity、Tiles、iText和POI

其中最為重要的就是Spring Core(控制反轉技術,即IOC)和 Spring  AOP,我會在后續(xù)的文章中進行詳細介紹,今天我們來重點講解Spring的環(huán)境搭建和Hello Spring Demo的編寫。

環(huán)境搭建

最簡單的方式,創(chuàng)建一個maven工程,pom.xml如下

<dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-webmvc</artifactId>  <version>5.2.5.RELEASE</version>  </dependency>

Spring 中的Bean

Spring容器可以被看作一個大工廠,而 Spring 容器中的 Bean 就相當于該工廠的產(chǎn)品。如果希望這個大工廠能夠生產(chǎn)和管理  Bean,這時則需要告訴容器需要哪些 Bean,以及需要以何種方式將這些 Bean 裝配到一起。

Bean 是一種JAVA語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構造器。JavaBean  通過提供符合一致性設計模式的公共方法將內部域暴露成員屬性,set和get方法獲取??傊?,JavaBean就是遵循一些規(guī)范的Java類。眾所周知,屬性名稱符合這種模式,其他Java  類可以通過反射機制發(fā)現(xiàn)和操作這些JavaBean 的屬性。

范例代碼如下:

public class Person { //Person類封裝的私有屬性 // 姓名 String類型 private String name; // 性別 String類型 private String sex; // 年齡int類型 private int age; //Person類的無參數(shù)構造方法 public Person() { } //Person類對外提供的用于訪問私有屬性的public方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

Spring中的配置文件

Spring配置文件是用于指導Spring工廠進行Bean生產(chǎn)、依賴關系注入(裝配)及Bean實例分發(fā)的"圖紙"。Spring配置文件是一個或多個標準的XML文檔,applicationContext.xml(也可以定義為其他名字)是Spring的默認配置文件,當容器啟動時找不到指定的配置文檔時,將會嘗試加載這個默認的配置文件。我們可以把配置文件保存在src/main/resources目錄下

從0到1上手Spring的方法教程

Spring配置文件支持兩種不同的格式,分別是 XML 文件格式和 Properties 文件格式。通常情況下,Spring 會以 XML  文件格式作為Spring 的配置文件,這種配置方式通過 XML 文件注冊并管理 Bean 之間的依賴關系。XML 格式配置文件的根元素是,該元素包含了多個子元素,每一個子元素定義了一個 Bean,并描述了該 Bean 如何被裝配到 Spring  容器中。配置文件基礎格式如下:

<?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 id="..." class="...">  </bean>  <bean id="..." class="...">  <property name=" ..." value="..."/>  </beans>

其中

xmlns表示xml需要引入的命名空間。

bean= 對象

id= 變量名,id 是bean的標識符,要唯一,可以理解為一個實例名

class= new的類

property相當于給對象中的屬性設值

Hello Spring

寫一個類代碼

public class HelloSpring { private String name="hello"; HelloSpring(){ System.out.println("Hello Spring"); } public String getName() { return this.name ; } public void setName(String name) { this.name = name; } }

在配置文件中添加HelloSpring的類配置信息

<?xmlversion="1.0"encoding="UTF-8"?>  <beansxmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:context="http://www.springframework.org/schema/context"  xsi:schemaLocation="http://www.springframework.org/schema/beans  https://www.springframework.org/schema/beans/spring-beans.xsd  http://www.springframework.org/schema/context  https://www.springframework.org/schema/context/spring-context.xsd">  <beanid="hellospring"class="com.my.demo.HelloSpring"/>  </beans>

寫一個測試類

public class HelloTest {      public static void main(String[] args) {            //獲取spring上下文對象            ApplicationContextcontext = new ClassPathXmlApplicationContext("beans1.xml");            //我們的對象能在都在spring中管理了,我們要使用,直接取出來就可以了            HelloSpringhello = (HelloSpring) context.getBean("hellospring");            System.out.println(hello.getName());         } }

運行類HelloTest,運行結果如下:

Hello Spring //構造函數(shù)中輸出的值  Hello //getName方法中輸出的值

關于從0到1上手Spring的方法教程問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI