J2EE考試題目與答案_第1頁
J2EE考試題目與答案_第2頁
J2EE考試題目與答案_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、J2EE簡答題1、簡述J2EE的四層模型。運行在客戶端機器上的客戶層組件;運行在J2EE服務器上的Web層組件;運行在J2EE服務器上的業(yè)務邏輯層組件;運行在EIS服務器上的企業(yè)信息系統層軟件2、什么是對象持久化?即把數據(如內存中的對象)保存到可永久保存的存儲設備中 (如磁盤)。持 久化的主要應用是將內存中的數據存儲在關系型的數據庫中 ,當然也可以存儲 在磁盤文件中、XML數據文件中等等。3、簡述一下ORMAPPING,為什么我們使用它?ORM(Object Relatio nal Map pi ng) 是一種為了解決面向對象與關系型數據庫存在的互不匹配的現象的技術。簡單說:ORM是通過使用

2、描述對象和數據庫之間 映射的元數據,將Java程序中的對象自動持久化到關系數據中。本質上就是將 數據從一種形式轉換到另外一種形式。原因:用它來架起對象和關系型數據庫的橋梁,可解決對象層次的映射、對象 關系的映射以及對象的持久化問題。4、 簡述一下如何使用Hibernate實現對象持久化的過程(可畫圖 或用偽碼描述)STEP 1創(chuàng)建Configuration對象。在這一步中主要為了進行配置文件的裝載操 作,讀取所有的配置文件并進行解析、STEP 2:創(chuàng)建SessionFactory對象。通過創(chuàng)建好的Configuration 對象可以創(chuàng)建 一個sessionFactory對象的實例,同時是生成S

3、ession對象實例的工廠,他在 整個應用中應該是,唯一的。STEP 3創(chuàng)建Session對象。Session對象類似于數據庫的連接對象,可以理解 為與數據庫建立的一個連接,但是他的功能要比JDBC中的Connection對象豐 富很多。STEP 4開始一個事務。在Java中定義一個事務操作的開始,這是使用 Hibernate進行持久化操作必不可少的步驟STEP 5進行持久化操作。在這個步驟中可以讀取或者保存 Java對象。STEP 6結束事務。在操作完成之后還要進行顯式的結束事務的操作。STEP 7關閉Session。類似于釋放數據庫的連接。5、為什么要實現序列化?1、序列化以某種存儲形式使

4、自定義對象持久化2、序列化將對象轉換為可傳輸方式從一個地方傳遞到另一個地方3、序列化使程序更具維護性6、 比較一下 session Factory 中的 opensession()禾口getcurrentsession()方法1、getCurrentSession創(chuàng)建的session會和綁定到當前線程,而openSession不 會。2、getCurrentSession創(chuàng)建的線程會在事務回滾或事物提交后自動關閉,而 openSession必須手動關閉7、比較一下session中的load ()和get ()方法,以及如何保證每次都是從數據庫讀取而不是在緩存中讀?load ()和get ()方

5、法均可以根據指定的實體類和id從數據庫讀取記錄,并 返回與之對應的實體對象。其區(qū)別在于:如果未能發(fā)現符合條件的記錄,get方法返回null,而load方法 會拋出一個 ObjectNotFoundException 。Load方法可返回實體的代理類實例,而get方法永遠直接返回實體類。load方法可以充分利用內部緩存和二級緩存中的現有數據 ,而get方法則僅僅 在內部緩存中進行數據查找,如沒有發(fā)現對應數據,將越過二級緩存,直接調 用SQL完成數據讀取。8、Action接受用戶參數輸入,主要有哪幾種方式?我們常用的是 哪一種?1. Action屬性接收參數;2. Domain modal(域模型

6、)接收參數;3.Modaldriven接收參數。常用第一種跟第二種9、在struts中實現一個action有哪幾種方式?最常用的是哪種?1. 定義一個普通的類,類中只要有一個public String execute()方法且返回一 個字符串即可。2. 定義一個類,實現Action接口,xwork2.Action 這個包的3 繼承 xwork2.ActionSupport 這個類。最常用的是第三種10、在struts.xml中Result的type常用的有四種類型1) dispatcher 2 ) redirect 3 ) chain 4 ) redirectAction哪些是服務器跳轉?哪些

7、是客戶端跳轉?dispatcher和chain是服務器端跳轉,所以客戶端只發(fā)起一次請求redirect和redirectAction是客戶端跳轉,所以客戶端發(fā)起兩次請求。11、 j2ee是技術還是平臺還是框架?它主要包含哪些技術,列舉并 簡單描述2到3個技術?J2EE本身是一個標準,一個為企業(yè)分布式應用的開發(fā)提供的標準平臺 。J2EE 也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB JTA等技術。JDBC:是一 種用于執(zhí)行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由 一組用Java語言編寫的類和接口組成。RMI:RMI協議調用遠程對象上的方法。它使用了序列

8、化方式在客戶端和服務器 端傳遞數據。RMI是一種被EJB使用的更底層的協議。12、 MVC的各個部分都有哪些技術來實現?如何實現?MVC是Model View Controller的簡寫。"Model"代表的是應用的業(yè)務邏輯(通過JavaBean, EJB組件實現),"View"是應用的表示面 (由JSP頁面產 生),"Controller"是提供應用的處理過程控制(一般是一個Servlet),通過 這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現。這些組 件可以進行交互和重用。13、什么是JNDI ?JNDI是SUN公司

9、提供的一種標準的Java命名系統接口 , JNDI提供統一的客 戶端API,通過不同的訪問提供者接口 JNDI SPI的實現,由管理者將JNDI API 映射為特定的命名服務和目錄系統,使得Java應用程序可以和這些命名服務和 目錄服務之間進行交互。14、舉例并簡單描述2到3種動態(tài)網頁開發(fā)技術。1、PHP,是英文超文本預處理語言 Hypertext Preprocessor 的縮寫。PHP是 一種HTML內嵌式的語言,是一種在服務器端執(zhí)行的嵌入 HTML文檔的腳本語 言,語言的風格有類似于C語言,被廣泛地運用。2、ASP,它是微軟公司開發(fā)的代替 CGI腳本程序的一種應用,它可以與數據庫 和其它

10、程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式 是.asp,現在常用于各種動態(tài)網站中。15、簡單描述瀏覽器輸入http:/localhost:8088/myFirstweb/Firstservlet訪問 web 資源的過程(也就是servlet工作的時序圖)(提示,解釋地址-用端口號 和地址訪問服務器-訪問資源)。1. 瀏覽器會將請求打包成http請求數據包,發(fā)送給web服務器,2. web服務器中的servlet引擎解析請求并圭寸裝為一個 HttpServletRequest對 象(包含了請求數據),同時創(chuàng)建個HttpServletResponse 對象。3. servle

11、t 調用 servlet 的 service()方法,并將 HttpServletReque , HttpServletResponse 對象作為參數傳遞給 servlet實例4. servlet可以從HttpServletRequest對象中獲得請求數據,并處理,當然, servlet也可能要訪問數據庫。然后將處理之后的結果放到HttpServletResponse 中。5. servlet引擎從HttpServletResponse 中取數據,并將數據打包成http數據 包發(fā)送給瀏覽器。16、開發(fā)servlet服務器程序三種方法。開發(fā)servlet有三種方法:a,實現servlet接口 ;

12、 b,繼承GenericServet; c,繼承 HttpServlet17、通過 httpservlet 去開發(fā) servlet,需要重寫 doGet 和 doPost 方法。這是常用的方式,請簡述Get與Post方法的區(qū)別。(1) get是從服務器上獲取數據,post是向服務器傳送數據在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方 式,數據放置在HTML HEADER內提交。(2) 對于get方式,服務器端用Request.QueryString獲取變量的值,對于 post方式,服務器端用Request.Form獲取提交的數據。(3) GET方式提交的數據最多

13、只能有1024字節(jié),而POST則沒有此限制。(4) 安全性問題。使用Get的時候,參數會顯示在地址欄上,而Post不會。 所以,還是使用post為好。18、簡述http返回包中的狀態(tài)碼200,302,404,500的意義。200請求已成功,請求所希望的響應頭或數據體將隨此響應返回。302請求的資源現在臨時從不同的 URI響應請求。404請求失敗,請求所希望得到的資源未被在伺服器上發(fā)現 。500伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理.19、簡述請求重定向(response.sendRedirect )和請求轉發(fā)(getRequestDispatcher forward )的

14、區(qū)另U。1、 forward。只能將請求轉發(fā)給同一個 Web應用中的組件,而sendRedirect() 方法不僅可以重定向到當前應用程序中的其他資源 ,還可以重定向到其他站點 的資源。2、 sendRedirect()方法重定向的訪問過程結束后,瀏覽器地址欄中顯示的URL 會發(fā)生改變,由初始的URL地址變成重定向的目標URL;而調用forward()方 法的請求轉發(fā)過程結束后,瀏覽器地址欄保持初始的URL地址不變3、forward。方法的調用者與被調用者之間共享相同的request對象和response對象;而sendRedirect()方法調用者和被調用者使用各自的request對象和re

15、sponse對象,它們屬于兩個獨立的請求和響應過程。20、Hibernate拒絕連接、服務器崩潰的原因?最少寫三個?1. db沒有打開2. 網絡連接可能出了問題3. 連接配置錯了4. 驅動的driver, url是否都寫對了5. LIB下加入相應驅動,數據連接代碼是否有誤6. 數據庫配置可能有問題7. 當前聯接太多了,服務器都有訪問人數限制的8. 服務器的相應端口沒有開,即它不提供相應的服務9 hibernate有哪些緩存,分別怎么使用?10你對hibernate的了解到了一個什么樣的程度?11寫出一個sql語句體現hibernate中一對多的關系21、Update ()和 saveOrUpd

16、ate ()的區(qū)別?update()方法操作的對象必須是持久化了的對象。也就是說,如果此對象在數 據庫中不存在的話,就不能使用update()方法。saveOrUpdate()方法操作的對象既可以使持久化了的,也可以使沒有持久化的 對象。如果是持久化了的對象調用saveOrUpdate()則會更新數據庫中的對象;如果是未持久化的對象使用此方法,則save到數據庫 中。22、Hibernate的三種狀態(tài)之間如何轉換?當對象由瞬時狀態(tài)(Transient) save()時,就變成了持久化狀態(tài)。當我們在 Session里存儲對象的時候,實際是在Session的Map里存了一份,也就是它 的緩存里放了

17、一份,然后,又到數據庫里存了一份,在緩存里這一份叫持久對 象(Persistent)。 Session 一 Close() 了,它的緩存也都關閉了,整個 Session 也 就失效了 ,這個時候,這個對象變成了游離狀態(tài)(Detached),但數據庫中還是 存在的。當游離狀態(tài)(Detached)update()時,又變?yōu)榱顺志脿顟B(tài)(Persistent)。當持久狀態(tài)(Persistent)delete()時,又變?yōu)榱怂矔r狀態(tài)(Transient),此時,數據庫 中沒有與之對應的記錄。23、工廠模式?工廠模式主要是為創(chuàng)建對象提供了接口。工廠模式按照Java與模式中的提法分為三類:1.簡單工廠模式(

18、Simple Factory) 2.工廠方法模式(Factory Method) 3. 抽象工 廠模式(Abstract Factory)這三種模式從上到下逐步抽象,并且更具一般性。還有一種分類法,就是將簡 單工廠模式看為工廠方法模式的一種特例,兩個歸為一類。下面是使用工廠模 式的兩種情況:1.在編碼時不能預見需要創(chuàng)建哪種類的實例。2系統不應依賴于產品類實例如何 被創(chuàng)建、組合和表達的細節(jié)24、抽象類和接口的區(qū)別?接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的,另外,實現接口的一定要實現接口里定義的所有方法,而實現抽象類可以有選擇地重寫需要用到

19、的方法,一般的應用里,最頂級的是接口 ,然后是抽象類實現接口 ,最后才到具體類實現。還有,接口可以實現多重繼承,而一個類只能繼 承一個超類,但可以通過繼承多個接口實現多重繼承,接口還有標識 (里面沒有任何方法,如Remote接口)和數據共享(里面的變量全是常量)的作用.25、Forward 和 redirect 的區(qū)別?forward是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然后把這些內容再發(fā)給瀏覽器,瀏覽器根本不知道服務器發(fā)送的內容是從哪兒來的,所以它的地址欄中還是原來的地址。redirect就是服務端根據邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個

20、地址,一般來說瀏覽器會用剛才請求的所有參數重新請求,所以session,request參數都可以獲取。26、持久化對象的三種狀態(tài),代表含義?瞬時態(tài):簡單的說就是你在程序里面new 個對象,還沒有和session關聯持久態(tài):對象和session有了關聯,對象處于hibernate 框架管理中游離態(tài):在持久態(tài)的情況下,對象和session失去了關聯,比如session.close()或session.flush()后,即游離態(tài),但數據已經存儲到了數據庫27、頁面之間的值傳遞?1:可以分成多個參數對的方式用querystri ng傳遞。2:可以用特定的字符分隔后組成一個字符串,再用一個參數對的que

21、rystring方式傳遞。3:如果是第三信息的話,可以用在服務器端的session方式傳遞,一般不用這種方式。因為占服務器資源。4:也可以用cookie方式傳遞。5:當然還可以用其它的不常的方式傳遞。28、 Struts框架的數據驗證可分為幾種類型?表單驗證(由Actio nF orm Bea n處理):如果用戶沒有在表單中輸入姓名,就提交表單,將生成表單驗證錯誤業(yè)務邏輯驗證(由Action處理):如果用戶在表單中輸入的姓名為“Monster",按照本應用的業(yè)務規(guī)則,不允許向“Monster'打招呼,因此將生成業(yè)務邏輯錯誤。29、 寫一個Singleton模式的例子?publ

22、ic class Sin glet onprivate static final Singleton singleton = new Singleton();private Sin glet on()public static Sin glet on get In sta nce()retur n sin glet on;30、談談你MVC的理解?MVC 是一種設計模式,它強制的將應用程序的輸入、處理、和輸出分開。使用了MVC的應用程序被分為 3個核心部件:試圖(View)、模型(Model)、控制器(Co ntroller)。它 們各司其職,既分工明確又相互合作。首先視圖接受用戶輸入請求,然

23、后將請求傳遞給控制器,控制器再調用某個模型來處理用戶的請求,在控制器的控制下,再將處理后的結果交給某個視圖進行格式化輸出給用戶這是經典的MVC設計執(zhí)行的基本流程。MVC不僅實現了功能模塊和顯示模塊的分離,同時它還提高了系統的可維護性、可擴展性和組件的可 復用性,是一個優(yōu)秀的創(chuàng)建軟件的途徑。J2EE把MVC引入了 web領域,并在此基礎上架構出了一套稱為 Model2的體系。Model2體系及jsp作為視圖顯示輸出和接受用戶輸入 數據,Servlet作為控制器處理用戶請求并根據用戶請求選擇相應的jsp返回給用戶,javaBean作為模型組件用作業(yè)務邏輯處理、管理數據的存儲和一致性 。31、項目中

24、為什么使用 SSH?1.使用Struts是因為struts是基于MVC模式的,很好的將應用程序進行了分 層,使開發(fā)者更關注于業(yè)務邏輯的實現;第二,struts有著豐富的taglib,如能 靈活運用,則能大大提高開發(fā)效率。2. 使用Hibernate :因為hibernate為Java應用提供了一個易用的、高效率的對象關系映射框架。hibernate是個輕量級的持久性框架,功能豐富。3. 使用 Spring :因為 spring 基于 loC(lnversion of Control ,反向控制)和 AOP 構架多層j2ee系統的框架,但它不強迫你必須在每一層中必須使用 Spring,因 為它模

25、塊化的很好,允許你根據自己的需要選擇使用它的某一個模塊 ; 采用loC使得可以很容易的實現bean的裝配,提供了簡潔的AOP并據此實現 事務管理(Transcation Managment), 等等32、在Struts2中,action是單實例還是多實例,為什么?struts 2的Action是多實例的并非單例,也就是每次請求產生一個 Action的 對象。原因是:struts 2的Action中包含數據,例如你在頁面填寫的數據就會 包含在Action的成員變量里面。如果Action是單實例的話,這些數據在多線 程的環(huán)境下就會相互影響,例如造成別人填寫的數據被你看到了 。所以Struts2 的

26、Action是多例模式的。33、Hibernate 與 jdbc 的聯系?hibernate是jdbc的輕量級圭寸裝,包括jdbc的與數據庫的連接(用 perty 的配置文件實現當然本質是圭寸裝了 jdbc的forname ),和 查詢,刪除等代碼,都用面向對象的思想用代碼聯系起來,hibernate通過 hbm配置文件把po類的字段和數據庫的字段關聯起來比如數據庫的id,在po類中就是 pravite Long id; public Long getId() ;public setld(Long id);然后 hql語句也是面向對象的,它的查詢語句不是查詢數據庫而是

27、查詢類的,這些實現的 魔法就是xml文件,其實hibernate=圭寸裝的jdbc+xml文件34、一般用spring做什么?Spring是一個解決了許多在J2EE開發(fā)中常見的問題的強大框架。Spring提供 了管理業(yè)務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好 習慣。Spring的架構基礎是基于使用 JavaBea n屬性的In version of Co ntrol容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完 關注所有架構層的完整解決方案方面是獨一無二的。Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率

28、并且減少了可 能的錯誤。Spring的數據訪問架構還集成了 Hibernate和其他O/R mapping 解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理 技術,例如JTA或者JDBC事務提供一個一致的編程模型。Spring提供了一個 用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其 他企業(yè)事務-如果你需要-還能實現你自己的aspects。這個框架足夠強大,使 得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。 Spring還提供了可以和loC容器集成的強大而靈活的 MVC Web框架。35、C/S與B/S的區(qū)別?C

29、/S架構是一種典型的兩層架構,其全程是Client/Server,即客戶端服務器端 架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另 一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。 C/S架構也可以看做是胖客戶端架構。因為客戶端需要實現絕大多數的 業(yè)務邏 輯和界面展示。這種架構中,作為客戶端的部分需要承受很大的壓力,因為顯 示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過 程的實現)來達到持久化數據,以此滿足實際項目的需要。B/S架構的全稱為Browse

30、r/Server,即瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現, Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。B/S架構 的系統無須特別安裝,只有Web瀏覽器即可。B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了 WebApp 上,這樣就避免了龐大的 胖客 戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客36、J2EE常用的設計模式?說明工廠模式?Java中的23種設計模式:Factory (工廠模式),Builder (建造模式)Factory Method (工廠方

31、法模 式),Prototype (原始模型模式),Singleton (單例模式),Facade (門面 模式),Adapter (適配器模式),Bridge (橋梁模式),Composite (合成 模式),Decorator (裝飾模式),Flyweight (享元模式),Proxy (代理模 式),Comma nd (命令模式),In terpreter (解釋器模式),Visitor (訪問 者模式),Iterator (迭代子模式),Mediator (調停者模式),Memento(備忘錄模式),Observer (觀察者模式),State (狀態(tài)模式),Strategy(策略模式)

32、,Template Method(模板方法模式),Cha in OfResponsibleity (責任鏈模式)工廠模式:工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以 根據提供的數據生成一組類中某一個類的實例 ,通常這一組類有一個公共的抽 象父類并且實現了相同的方法,但是這些方法針對不同的數據進行了不同的操 作。首先需要定義一個基類,該類的子類通過不同的方法實現了基類中的方 法。然后需要定義一個工廠類,工廠類可以根據條件生成不同的子類實例。當 得到子類的實例后,開發(fā)人員可以調用基類中的方法而不必考慮到底返回的是 哪一個子類的實例。37、BeanFactory的作用是什么?Bean

33、Factory提供的高級配置機制,使得管理任何性質的對象成為可能。在Spring中,BeanFactory是loC容器的核心接口 。它的職責包括:實例化、定 位、配置應用程序中的對象及建立這些對象間的依賴。Spring為我們提供了許多易用的BeanFactory實現,XmlBeanFactory就是最常用的一個。該實現將以 XML方式描述組成應用的對象以及對象間的依賴關系。XmlBeanFactory類將持有此XML配置元數據,并用它來構建一個完全可配置的系統或應用。Ajax的工作原理?通過javascript的方式,將前臺數據通過xmlhttp對象傳遞到后臺,后臺在接 收到請求后,將需要的結

34、果,再傳回到前臺,這樣就可以實現不需要頁面的回 發(fā),頁是數據實現來回傳遞,從頁實現無刷新。39、何為容器?容器是一個Java所編寫的程序,原先必須自行編寫程序以管理對象關系,現在容器都會自動幫您作好。常用容器 WebSphere ,WebLogic ,Resin,Tomcat40、Spring配置文件中的ref元素的作用是什么?它的兩個基本屬 性是什么?用于指定屬性值為spring容器中的其它bean.兩個基本屬性是bean和local41、Hibernate具有的三種檢索方式?HQL檢索方式 QBC檢索方式SQL檢索方式42、什么是IOC,請詳述?不創(chuàng)建對象,但是描述創(chuàng)建它們的方式 。在代碼

35、中不直接與對象和服務連接,但在配置文件中描述哪一個組件需要哪一項服務。容器(在Spring框架中是IOC容器)負責將這些聯系在一起。就是由容器控制程序之間的關系,而非傳統實現中,由程序代碼直接操控,控制權由應用 代碼中轉到了外部容器,控制權的轉移,就是所謂的反轉。43、什么是AOP,請詳述?是面向切面編程 。AOP把軟件系統分為兩個部分:核心關注點和橫切關注點。所謂的 核心關注點,是業(yè)務處理的主要流程,也就是說這個解決方案要做的事 。所謂橫切關注 點,是與核心業(yè)務無關的部分,它把常發(fā)生在核心關注點的多處 ,而各處基本相似,如日 志,事務,權限等。44、Spring框架的七個模塊是什么?(1)

36、spri ng AOP - 面象切面編程(2) spri ng DAO - 數據訪問對象(3) spri ng ORM - 對象關系影射(4) spring Contect -上下文配置,向Spring框架提供上下文信息(5) spri ng WEB - -WEB上下文模塊(6) spring WEB-MVC - 實現了 MVC(7) spring CORE -核心容器提供Spring框架基本功能45、Spring的注入方式有哪幾種?1. 接口注入(不推薦)2. getter , setter方式注入(比較常用)3. 構造器注入(死的應用)接口注入模式因為具備侵入性,它要求組件必須與特定的接口相關聯,因此并不被看好,實際使用有限。Setter 注入:對于習慣了傳統javabean開發(fā)的程序員,通過setter方法設定依賴關系更加直觀。如果 依賴關系較為復雜,那么構造子注入模式的構造函數也會相當龐大,而此時設值注入模式則更為簡潔。如果用到了第三方類庫,可能要求我們的組件提供一個默認的構造函數,此時構造子注入模式也不適用。構造器注入:在構造期間完成一個完整的 、合法的對象。所有依賴關系在構造函數中集中呈現。依賴關系在構造時由容器一次性設定 ,組件被創(chuàng)建之后一直處于相對 不變”的穩(wěn)定狀態(tài)。只有組 件的創(chuàng)建者關心其內部依賴關系 ,對調用者而言,該依

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論