1. 程式人生 > >java框架之spring(一)

java框架之spring(一)

前言

Spring是一個基於IOC和AOP的結構J2EE系統的框架 ,IOC(Inversion Of Control )反轉控制是Spring的基礎,簡單說就是建立物件由以前的程式設計師自己new 構造方法來呼叫,變成了交由Spring建立物件;DI (Dependency Inject)依賴注入. 簡單地說就是拿到的物件的屬性,已經被注入好相關值了,直接使用即可。 

ok,更詳細的資料自己可百度去檢視,這裡直接開始專案搭建。

第一步,建立工程

在eclipse中新建一個web工程,如下所示:


第二步,匯入相關jar包(連結:https://pan.baidu.com/s/1nxadoM1

密碼:ncsb)

把jar包匯入到專案中,導包辦法:右鍵 project->properties->java build path->libaries->add external jars或者將下載好的jar包解壓之後複製到專案WebContent->WEB-INF->lib下,匯入後如下所示:


第三步,準備pojo Category,用來演示IOC和DI

package com.hjsy.pojo;
public class Category {
	private int id;
        private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
第四步,新建applicationContext.xml檔案

在src目錄下新建applicationContext.xml檔案
applicationContext.xml是Spring的核心配置檔案,通過關鍵字hjsy即可獲取Category物件,該物件獲取的時候,即被注入了字串"花季歲月“到name屬性中。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/aop
   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
   http://www.springframework.org/schema/tx
   http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
   http://www.springframework.org/schema/context     
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  
    <bean name="hjsy" class="com.hjsy.pojo.Category">
        <property name="name" value="花季歲月" />
    </bean>
</beans>
第五步,測試
測試程式碼,演示通過spring獲取Category物件,以及該物件被注入的name屬性。

package spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.hjsy.pojo.Category;
public class TestSpring {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext(
                new String[] { "applicationContext.xml" });
        Category category = (Category) context.getBean("hjsy");
        System.out.println(category.getName());
	}
}
第六步,測試結果

執行TestSpring類,檢視控制檯輸出結果


總結:

以獲取物件的方式來進行比較

傳統的方式: 
通過new 關鍵字主動建立一個物件
IOC方式
物件的生命週期由Spring來管理,直接從Spring那裡去獲取一個物件。 IOC是反轉控制 (Inversion Of Control)的縮寫,就像控制權從本來在自己手裡,交給了Spring。 

打個比喻:
傳統方式:相當於你自己去菜市場new 了一隻雞,但是是生雞,要自己拔毛,去內臟,再上花椒,醬油,烤制,經過各種工序之後,才可以食用。
用 IOC:相當於去館子(Spring)點了一直 雞,交到你手上的時候,已經五味俱全,你就只管吃就行了。

原始碼:連結:https://pan.baidu.com/s/1pM8UNYb 密碼:flke