1. 程式人生 > >spring 框架學習(一)

spring 框架學習(一)

1、spring簡介

Spring 是一個開源框架,是為了解決企業應用程式開發複雜性而建立的。框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個元件,同時為 J2EE 應用程式開發提供整合的框架。Spring的一個最大的目的就是使JAVA EE開發更加容易. 同時,Spring致力於提供一個以統一的、高效的方式構造整個應用,並且可以將單層框架以最佳的組合揉和在一起建立一個連貫的體系。可以說Spring是一個提供了更完善開發環境的一個框架,可以為POJO(Plain Old Java Object)物件提供企業級的服務. Spring為簡化企業級應用開發而生,使用Spring可以使簡單的javaBean實現以前只有EJB才能實現的功能。 Spring框架描述

看了這張圖片是不是覺得頭大?這是spring框架的模組圖。而真正學習spring框架,從特性方面入手比較好一些。

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(吃)方法中寫點內容,比如一句輸出,看是否能執行,如果能執行,說明注入和之前的配置成功了。