天天看點

Spring入門程式一、Spring概述二、Spring的體系結構三、Spring的核心容器四、實作步驟

目錄

  • 一、Spring概述
  • 二、Spring的體系結構
  • 三、Spring的核心容器
  • 四、實作步驟

一、Spring概述

spring是目前主流的JavaWeb架構,它是為了解決應用開發複雜性問題而産生的。對于一個Java應用程式員來說,掌握spring架構的使用,是我們基本的一項技能。spring是分層的JavaSE/EE full-stack 輕量級開源架構,以IoC(Inverse of Control 控制反轉)和AOP(Aspect Oriented Programming 面向切面程式設計)為核心,使用基本的JavaBean來完成以前隻可能由EJB完成的工作,取代了EJB的臃腫、低效的開發模式。

二、Spring的體系結構

Spring的體系結構

Spring入門程式一、Spring概述二、Spring的體系結構三、Spring的核心容器四、實作步驟

三、Spring的核心容器

Spring容器會負責控制程式之間的關系,而不是由程式代碼直接控制。Spring為我們提供了兩種核心容器,分别為BeanFactory和ApplicationContext。

ApplicationContext是BeanFactory的子接口,是另一種常用的Spring核心容器。不僅包含了BeanFactory的所有功能,還添加了對國際化、資源通路、事件傳播等方面的支援。是以ApplicationContext在實際開發中較為常用。

通過ClassPathXmlApplicationContext建立:

ClassPathXmlApplicationContext會從類路徑classPath中尋找指定的XML配置檔案,找到并裝載完成ApplicationContext的執行個體化工作。
           

建立Spring容器後,就可以擷取Spring容器中的Bean。Spring擷取Bean的執行個體通常采用以下兩種方法:

(1)根據容器中Bean的id或name來擷取指定的Bean,擷取之後需要進行強制類型轉換。

(2)根據類的類型來擷取Bean的執行個體。由于此方法為泛型方法,是以在擷取Bean之後不需要進行強制類型轉換。

四、實作步驟

(1)在IDEA中建立名稱為spring的Maven項目。

(2)在pom.xml檔案中加載需使用到的Spring四個基礎包以及Spring依賴包。

<dependencies>	
		<!--Spring的基礎包Spring-core-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        <!--Spring的基礎包Spring-beans-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>  
        <!--Spring的基礎包Spring-context-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        <!--Spring的基礎包Spring-expression-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>5.2.8.RELEASE</version>
        </dependency>
        <!--Spring的依賴包commons-logging-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <!--Junit單元測試-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
           

(3)在src/main/java目錄下建立com.zh包,在該包中建立名為HelloSpring的類,在HelloSpring類中定義userName屬性和show()方法。

private String userName;

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void show(){
        System.out.println(userName+":歡迎來到Spring");
    }
           

(4)在src/main/resources目錄下,建立applicationContext.xml檔案作為HelloSpring類的配置檔案,并在該配置檔案中建立id為helloSpring的Bean。

<?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
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="helloSpring" class="com.zh.HelloSpring">
        <property name="userName" value="張三"></property>
    </bean>

</beans>
           

(5)在test/java目錄下,建立測試類TestHelloSpring,在main()方法中初始化Spring容器并加載applicationContext.xml配置檔案,通過Spring容器擷取HelloSpring類的helloSpring執行個體,調用HelloSpring類中的show()方法在控制台輸出資訊。

public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloSpring helloSpring = (HelloSpring) applicationContext.getBean("helloSpring");
        helloSpring.show();
    }
           

(6)運作結果

Spring入門程式一、Spring概述二、Spring的體系結構三、Spring的核心容器四、實作步驟