spring Code(spring 核心)


一.spring的作用
spring 就是為了讓我們以后能夠做大的項目准備的。spring核心的功能就是一個工廠模式,spring相當於為你的項目專門成立一個一個工廠,這個工廠負責創建對象 ,維護對象之間的關系。你需要對象了,以前是直接new,現在
從spring 的工廠里面獲取。
spring 的核心完成兩個工作:
1,創建對象
2,維護對象之間的依賴關系。
二.spring的基本配置
1.創建java項目,導入jar包
2.在src下創建主配置文件applicationContext
3.創建實體類
  創建Display的接口:

  創建Display的兩個實現類:   

LgDisplay:
SumSingDisplay:

  創建CPU接口:

創建CPU接口是實現類InterlCpu:

創建E470筆記本的類,這個類要依賴兩個屬性一個是顯示器Display,一個是Cpu:
/* 組裝E470筆記本
*/
public class E470 {
//這里需要依賴接口
private Display display;
private Cpu cpu;
/**
* 筆記本工作的方法
*/
public void work(){
//cpu進行計算
cpu.calc();
//顯示器顯示
display.display();
}
public Display getDisplay() {
return display;
}
public void setDisplay(Display display) {
this.display = display;
}
public Cpu getCpu() {
return cpu;
}
public void setCpu(Cpu cpu) {
this.cpu = cpu;
}
}
4.在spring的工廠中創建對象
<!--創建一個Lg顯示器的對象
spring中以bean的方式管理對象,一個bean就代表創建了一個對象
class 配置類的完全限定名,表明該對象是哪個類的對象
id 配置類的唯一標識
-->
<bean id="lgDisplay" class="com.aaa.spring.entity.LgDisplay"></bean>
<!--創建一個三星顯示器的對象-->
<bean id="sumSingDisplay" class="com.aaa.spring.entity.SumSingDisplay"></bean>
<!--創建英特爾cpu的對象-->
<bean id="interlCpu" class="com.aaa.spring.entity.InterlCpu"></bean>
<!--創建E470筆記本的對象-->
<bean id="e470" class="com.aaa.spring.entity.E470">
<!--維護對象之間的依賴關系
ref是引用哪個對象,這里要寫對象的id
-->
<property name="display" ref="lgDisplay"></property>
<property name="cpu" ref="interlCpu"></property>
</bean>
</beans>
5.測試
/**
* 測試從spring工廠中獲取對象
*/
public class Test01 {
public static void main(String[] args) {
//創建spring的工廠類的對象
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//從工廠中獲取對象
E470 e470 = (E470)context.getBean("e470");
//調用對象的方法
e470.work();
}
}
總結:
spring的作用 1,創建對象 2,維護對象之間的關系
IOC 控制反轉 主要是指在項目開發中對象創建方式的變化,原來不使用spring 創建對象是在程序中創建的,這樣
對象和程序的耦合性就較強,不利用之后項目的擴展和維護。使用了spring之后,對象創建就放到工廠中進行了。
DI 依賴注入 主要指的對象之間關系的維護。原來在程序中如果一個對象要依賴另外一個對象了,可以直接調用對
象屬性的setter方法。使用spring之后,我們通過spring依賴注入的方式維護對象之間的關系。
三.spring的BeanFactory和ApplicationContext
BeanFactory是ApplicationContext的父接口,BeanFactory接口定義了一些spring工廠最底層的使用的方法,一
般在spring的源碼中我們使用BeanFactory,但是該類不建議程序員直接使用,建議程序員使用
ApplicationContext接口,該接口對BeanFactory功能進行了一些擴展:
1,提供spring的國際化支持
2,提供了事物的處理方式
3,可以加載多個主配置文件
以后一般開發中使用ApplicationContext接口,但是接口不能直接使用,我們可以同
ClassPathXmlApplicationContext類來實例化這個接口。我們也可以使用FileSystemXmlApplicationContext來實例化該接口:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM