目錄
- 一、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為我們提供了兩種核心容器,分别為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)運作結果