spring 框架學習(一)
阿新 • • 發佈:2018-12-11
1、spring簡介
Spring 是一個開源框架,是為了解決企業應用程式開發複雜性而建立的。框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個元件,同時為 J2EE 應用程式開發提供整合的框架。Spring的一個最大的目的就是使JAVA EE開發更加容易. 同時,Spring致力於提供一個以統一的、高效的方式構造整個應用,並且可以將單層框架以最佳的組合揉和在一起建立一個連貫的體系。可以說Spring是一個提供了更完善開發環境的一個框架,可以為POJO(Plain Old Java Object)物件提供企業級的服務. Spring為簡化企業級應用開發而生,使用Spring可以使簡單的javaBean實現以前只有EJB才能實現的功能。
2、搭建spring開發環境
現在我們要著手搭建一個spring的開發環境,第一步,我們要找齊所需的jar包 這裡麵包括了兩個有關訊息的jar包,4個spring功能jar包,如果你eclipse配置有maven外掛,使用maven配置spring的開發環境會更加簡單。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</ artifactId>
<version>2.0.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency >
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如果你有maven外掛的話,將上面一段話引入pom.xml就完成了spring-boot的引入。接下來,還要配置spring的配置檔案。
新建一個xml檔案,將以下上下文引入,spring的開發環境就配置好了
```xml
<?xml version="1.0" encoding="UTF-8"?>
```
3.IOC(DI)
IOC全稱Inversion of Control,就是控制反轉,這是spring的基本思想之一。它的基本概念是控制權反轉。之前我們建立物件同常通過關鍵字new執行構造方法來建立一個新物件,然而現在,我們要把建立物件這個過程交給spring的beanFactory來實現。 IBM中這樣描述IOC:不建立物件,但是描述建立它們的方式。在程式碼中不直接與物件和服務連線,但在配置檔案中描述哪一個元件需要哪一項服務。容器 (在 Spring 框架中是 IOC 容器) 負責將這些聯絡在一起。 下面我們需要來手寫一個例子,在剛才新建的xml檔案中,我們可以通過bean節點來配置實體bean.<bean id="apple" class="com.zzxt.spring.ioc.Apple"></bean>
<bean id="Orange" class="com.zzxt.spring.ioc.Orange"></bean>
其中,bean屬性的id在IOC容器中必須是唯一的,如果沒有指定,spring將自動定性類名作為bean的名字。我們可將業務bean注入到IOC中,這樣會使日後的更新變得方便。
注入之後,我們可以編寫一個測試類看一看是否成功注入
package com.zzxt.spring.ioc;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zzxt.spring.ioc.bean.Apple;
public class TestIOC {
private ApplicationContext ioc;
@Before
public void initIoc() {
ioc = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("IOC 容器初始化完成!!!");
}
@Test
public void testIoc() {
Apple apple = ioc.getBean("apple", Apple.class);
apple.tasted();
}
}
可以在實體bean Apple的tasted(吃)方法中寫點內容,比如一句輸出,看是否能執行,如果能執行,說明注入和之前的配置成功了。