java中springdi_java中spring入门
1、spring的概念
apache推出的java企業框架,提供了基于ioc的對象工廠、aop面向切面編程等功能及其他增強功能。
當前版本4.xxx,支持注解的配置。 springmvc。
2、控制反轉(ioc):inversion of control。用來描述框架的重要特征
spring針對ioc的具體實現:依賴注入(DI): Dependency Injection
概念:(考點:如簡述IOC)
我們需要的對象,不是由我們自己創建,而是由外部容器事先準備好,我們需要時才去拿。
比如說“在家里有個好老婆”。你需要任何生活中的東西基本都能直接給你,這樣我們就能更專注于做自己要做的事,而不用為生活瑣事耽誤時間。
優點總結:專注業務,無需關注對象的創建。同時外部的容器允許對象具有可替代性,更加靈活。(后邊這句的理解:根據接口提供多個實現,讓用戶選中合適自己的。)
舉例:
A a = new A(???); //親自去創建對象
使用ioc后==>
A a = factory.getBean("a")://從外部對象工廠去拿對象。
a.test();
spring框架提供了ioc的一種代碼實現方式:di=依賴式注入(depency injection).
綜合應用了java的xml\面向對象\反射技術\工廠模式。
編碼:Superman演示依賴注入。
di概念:類持有一個抽象接口,在運行期由他人注入實例來決定運行的結果。
這里重點就是運行期,每次修改只需要改配置,不需要重新編譯java文件,效率高。
另外構造時屬性可以任意裝配,靈活性大。如下例:組合飛行接口,實現在xml中隨意配置。
class Superman
{
IFly tool; //持有抽象接口
main()
{
sm.setTool(new Plane()/new Balloon ()); //外部注入
}
}
3、spring的基礎配置
a 對象的生命周期 考點
singleton--單例。【默認】
prototype--原型,每次獲取都創建新的對象。
request--和request對象生命周期一致。獲得響應后釋放。
session--和session對象生命周期一致。setMaxInactiveInterval()//超過最大無活動時間就釋放。或session.invalidate()。注意:誤區:session不是關閉瀏覽器就結束生命周期,關閉瀏覽器只是jsessionid重建。服務器內存中的數據不會馬上清理。
b 構造注入:本質上是通過反射調用有參構造函數
入參1的值入參2的值
...
設值注入:本質上是通過反射調用setXxx方法
c 對象工廠的延遲創建
lazy-init = true. 默認是false,在創建工廠時自動創建。
背影
總結
以上是生活随笔為你收集整理的java中springdi_java中spring入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑黑屏怎么处理电脑如何黑屏
- 下一篇: java索引序列_视图、序列、索引