一句話總結:Spring框架的核心容器能爲咱們建立對象程序員
spring框架是一種粘合層框架,它是用來整合web層框架和持久層框架的
spring能夠支持咱們各個層級包括數據展現層,業務層和持久層都有對應的解決方案.
spring核心容器core container提供了建立對象管理對象的功能
core container包括bean,core,context,Expression Language
bean提供了整個框架最基本的部分,包括了IOC控制反轉和依賴注入
Bean的建立用到了工廠模式:父類是BeanFactoryweb
下邊爲Spring模塊架構圖:spring
core container : 核心容器,是spring框架的基石,任何spring項目運行時都會生成一個容器,把項目運行時須要的對象所有管理起來。建立對象,銷燬對象,對象關係的依賴。
test : 測試,能夠與junit-4整合起來,測試容器中某些對象。
AOP : 面向切面編程,能夠無耦合的給不少方法進行功能的加強。
data access : 數據訪問,提供了jdbc模板,能夠對數據庫進行操做。還能夠與其它的ORM框架,如hibernate進行整合使用。
transactions : 事務, spring提供了聲明式事務功能,只須要對事務功能進行一次配置,就能夠在全部的方法上增長事務。
web - struts : spring的web模塊能夠和struts框架整合起來使用。
web - mvc : spring開發了本身的一個控制層框架,叫作SpringMVC,代替struts2框架,從開發速度,運行效率上都比struts2要好。數據庫
IOC控制反轉:以前是程序員建立對象,如今是IOC容器建立對象,控制權反轉了編程
依賴注入有三種方式:架構
1.構造方法注入:
<bean id="student" class="com.youzhong.entity.Student"> <constructor-arg index="0" value="1"/> <constructor-arg index="1" value="張三"/> </bean>
index是索引,value是賦值mvc
2.set方法注入:
<bean id="student" class="com.youzhong.entity.Student"> <property name="id"
value="1"/> <property name="name" value="張三"/> </bean>
name要與實體類的set方法名匹配框架
3.註解注入:
註解注入只能對對象類型的屬性依賴完成注入。
@Autowired @Resource 自動綁定
註解開關:<context:annotation-config/>
@Autowired 註解添加到對象類型屬性上,按照類型綁定。
@Resource 註解添加到對象類型屬性上,先根據名字綁定,再根據類型綁定。>
@Autowired是spring中的註解,@Resuorce是jdk中的註解測試