1.什麼是Spring
javaEE/SE的開發的一站式輕量級開源架構(hibernate是持久層的ORM架構)
一站式:有JavaEE開發的每一層的解決方案
web層:SpringMVC
Service:SpringBean 的管理,聲明事務(通過配飾直接管理)
Dao層:JDBC,ORM子產品
2.Spring 的好處
1.輕量級:檔案小,加載快,性能好
2.IOC:解決耦合問題
3.AOP:面向切面程式設計
4.利于內建各種架構
5.聲明式事務支援
3.IOC:控制反轉
以前我們要使用一個對象,就必須去new一個對象,這樣耦合度十分高的(聯系過深,一處更改,就要去修改多處源碼)
IOC:将對象的建立反轉交給Spring
Spring IOC 的底層原理:
XML ,工廠,反射
xml:配置一個bean
<bean id="xxxxx" class="類的完全限定名"></bean>
工廠:
class BeanFactory(){
public static Object getBean(String id){//此處的id就是配置的id名 xxxxx
//1.讀取xml:通過id擷取class
//2.反射擷取執行個體對象
Class class =Class.ForName()
return class.newInstances()
}
}
4.DI:依賴注入
前提:必須有ioc 的環境
Spring管理這個類的時候将這個類的屬性注入進來
{IOC與DI的一個差別:IOC:控制反轉,是将對象的建立交給Spring去管理
DI:依賴注入:是将這個類的屬性注入進來
}
<bean id="xxxxx" class="類的完全限定名">
<property name="屬性名" value=>
</bean>