Spring是一個基於IOC和AOP的結構J2EE系統的框架 IOC(Inversion Of Control) 反轉控制
是Spring的基礎,由容器控制應用程序獲取外部資源而非程序主動獲取。
簡單說就是建立對象由之前的程序員本身new 構造方法來調用,變成了交由Spring建立對象 DI(Dependency Inject) 依賴注入
. 簡單地說就是拿到的對象的屬性,已經被注入好相關值了,直接使用便可。 java
下面例子經過Spring獲取一個對象,並打印其name。
步驟1.新建項目,導入spring框架中lib下的jar包。導包辦法:右鍵 project->properties->java build path->libaries->add external jars程序員
步驟2.建立Catagory類,定義兩個私有屬性及其setter和getterspring
package com.how2java.pojo; public class Category { 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; } private int id; private String name; }
步驟3.在src目錄下新建applicationContext.xml文件
applicationContext.xml是Spring的核心配置文件,配置了BeanFactory能夠生產的Bean的「圖紙」,這裏可經過反射獲取Category的的實例,該實例獲取的時候,注入字符串"Hello Sping!「到具體實例的name屬性中。數組
步驟4.經過spring獲取Category對象,以及該對象被注入的name屬性。
如圖所示,能夠打印出經過Spring拿到的Category對象的name屬性。
首先經過ClassPathXmlApplicationContext類手動實例化ApplicationContext容器(得到一個Bean工廠);
而後調用getBean("bean's name")方法產生一個名稱爲c的Bean。app
注意:
1.配置文件中bean裏的name屬性是爲了產生Bean實例的時候定位到某個具體的"圖紙",和產生的實例的名字沒有關係。
2.一個容器能夠以字符串數組的形式添加多個xml。
3.命名規範:類名首字母大寫,可是注入變量名首字母必須小寫!必須小寫!必須小寫!框架