spring框架--控制反轉(IOC)、spring的注入、Bean的作用域
阿新 • • 發佈:2018-12-24
1.spring是什麼?
spring是一個輕量級的、控制反轉(IOC)和麵向切面程式設計(AOP)的容器框架。
2.spring入門程式
2.1.匯入jar包
2.2.spring的核心配置檔案 applicationContext.xml(預設)
作用:用於配置所有的類(物件),這些類可以稱為springBean
2.3.spring的核心類:ApplicationContext(介面)
作用:建立或是獲取springBean.
3.IOC
控制反轉:把物件的建立、初始化、銷燬等工作權利交給spring容器, 讓spring容器來管理這些物件的生命週期。
IOC不是一種技術,而是一種思想 面向物件程式設計的思想,可以設計出鬆耦合度、優良的程式
包括:依賴注入DI(IOC的核心)、依賴查詢
<!--class:對應的類
id:唯一的標識
等同於
Person p=new Person();-->
<bean id="person" class="cn.bean.Person"></bean>
4.spring的注入
當例項化某個物件的時候由外部容器來設定這個物件的值
屬性值的注入,一定有對應的setter方法
<!-- 注入的案例,注入時,屬性必須有setter方法 --> <bean id="user" class="cn.bean.User"> <!-- property 當前配置的類的屬性 name:屬性的名字 value:注入的值 ref:指向其他的bean的id --> <!-- int型別注入 --> <property name="age" value="22"></property> <!-- String型別注入 --> <property name="name" value="張三"></property> <!-- List型別注入 --> <property name="list"> <list> <value>籃球</value> <value>跑步</value> </list> </property> <!-- map型別注入 --> <property name="map"> <map> <entry key="mybatis" value="98"></entry> <entry key="spring" value="90"></entry> </map> </property> <!-- 注入其他的類 ref:指向其他的bean的id --> <property name="car" ref="car"></property> </bean> <bean id="car" class="cn.bean.Car"> <!-- 小汽車 --> <property name="name" value="bmw"></property> </bean>
5.Bean的作用域
作用域:scope
預設singleton:單例模式。只有一份例項,預設就是singleton
prototype:原型模式。每次通過spring 容器來獲取springBean,容器都會建立一個新的例項進行返回
request:同一請求是同一個例項
session:同一會話是同一例項。