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
把jar包匯入到專案中,導包辦法:右鍵 project->properties->java build path->libaries->add external jars或者將下載好的jar包解壓之後複製到專案WebContent->WEB-INF->lib下,匯入後如下所示:
第三步,準備pojo Category,用來演示IOC和DI
第四步,新建applicationContext.xml檔案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; } }
在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