




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Spring面試問(wèn)題TOP 50(干貨推薦收藏必備)1、一般問(wèn)題1.1.不同版本的Spring Framework有哪些主要功能?1.2.什么是 Spring Framework?Spring 是一個(gè)開(kāi)源應(yīng)用框架,旨在降低應(yīng)用程序開(kāi)發(fā)的復(fù)雜度。§它是輕量級(jí)、松散耦合的。§它具有分層體系結(jié)構(gòu),用戶選擇組件,同時(shí)還為 J2EE 應(yīng)用程序開(kāi)發(fā)§提供了一個(gè)有凝聚力的框架。Spring Framework 現(xiàn)在幾乎已成為 Java Web 開(kāi)發(fā)的標(biāo)配框架。那么,作為 Java 程序員,你對(duì) Spring 的主要技術(shù)點(diǎn)又掌握了多少呢?不妨用本文的問(wèn)題來(lái)檢測(cè)一下。它可以集成其他
2、框架,如 Structs、Hibernate、EJB 等,所以又稱為框§架的框架。1.3. 列舉 Spring Framework 的優(yōu)點(diǎn)。由于 Spring Frameworks 的分層架構(gòu),用戶可以自由選擇需要的§組件。Spring Framework 支持 POJO(Plain Old Java Object) 編程,從而具§備持續(xù)集成和可測(cè)試性。由于依賴注入和反轉(zhuǎn),JDBC 得以簡(jiǎn)化。§它是開(kāi)源的。§1.4. Spring Framework 有哪些不同的功能?輕量級(jí) - Spring 在代碼量和方面都很輕便。§IOC -反轉(zhuǎn)
3、§AOP - 面向切面編程可以將應(yīng)用業(yè)務(wù)邏輯和系統(tǒng)服務(wù)分離,以實(shí)現(xiàn)§聚。容器 - Spring 負(fù)責(zé)創(chuàng)建和管理對(duì)象(Bean)的生命周期和配置。§MVC - 對(duì) web 應(yīng)用提供了高度可配置性,其他框架的集成也十分方§便。事務(wù)管理 - 提供了用于事務(wù)管理的通用抽象層。Spring 的事務(wù)支持也可§用于容器較少的環(huán)境。JDBC 異常 - Spring 的 JDBC 抽象層提供了一個(gè)異常層次結(jié)構(gòu),簡(jiǎn)化§了錯(cuò)誤處理策略。1.5. Spring Framework中有多少個(gè)模塊,它們分別是什么?Spring容器 該層基本上是 Spring F
4、ramework 的。它包含§以下模塊:Spring Core§Spring Bean§SpEL (Spring Expression Language)§Spring Context§數(shù)據(jù)/集成 該層提供與數(shù)據(jù)庫(kù)交互的支持。它包含以下模塊:§JDBC (Java DataBase Connectivity)§ORM (Object Relational Mapping)§OXM (Object XML Mappers)§JMS (Java Messaging Service)§Transact
5、ion§Web 該層提供了創(chuàng)建 Web 應(yīng)用程序的支持。它包含以下模塊:§Web§WebServlet§WebSocket§WebPortlet§AOP 該層支持面向切面編程§Instrumentation 該層為類檢測(cè)和類加載器實(shí)現(xiàn)提供支持。§Test 該層為使用 JUnit 和 TestNG 進(jìn)試提供支持。§幾個(gè)雜項(xiàng)模塊:§Messaging 該模塊為 STOMP 提供支持。它還支持注解編程模型,§該模型用于從 WebSocket 客戶端路由和處理 STOMP 消息。Aspects
6、 該模塊為與 AspectJ 的集成提供支持。§1.6. 什么是 Spring 配置文件?Spring 配置文件是 XML 文件。該文件主要包含類信息。它描述了這些類是如何配置以及相互引入的。但是,XML 配置文件冗長(zhǎng)且更加干凈。如果沒(méi)有正確和編寫(xiě),那么在大項(xiàng)目中管理變得非常。1.7. Spring 應(yīng)用程序有哪些不同組件?Spring 應(yīng)用一般有以下組件:接口 - 定義功能。§Bean 類 - 它包含屬性,setter 和 getter 方法,函數(shù)等。§Spring 面向切面編程(AOP) - 提供面向切面編程的功能。§Bean 配置文件 - 包含類的
7、信息以及如何配置它們。§用戶程序 - 它使用接口。§1.8. 使用 Spring 有哪些方式?使用 Spring 有以下方式:作為一個(gè)成Spring Web 應(yīng)用程序。§作為第Web 框架,使用 Spring Frameworks 中間層。§用于使用。§作為企業(yè)級(jí) Java Bean,它可以包裝現(xiàn)有的 POJO(Plain OldJava§Objects)。2、依賴注入(Ioc)2.1. 什么是 Spring IOC 容器?Spring 框架的是 Spring 容器。容器創(chuàng)建對(duì)象,將它們裝配在一起,配置它們并管理它們的完整生命周期。S
8、pring 容器使用依賴注入來(lái)管理組成應(yīng)用程序的組件。容器通過(guò)提供的配置元數(shù)據(jù)來(lái)接收對(duì)象進(jìn)行實(shí)例化,配置和組裝的指令。該元數(shù)據(jù)可以通過(guò)XML,Java注解或Java代碼提供。2.2. 什么是依賴注入?在依賴注入中,您不必創(chuàng)建對(duì)象,但必須描述如何創(chuàng)建它們。您不是直接在代碼中將組件和服務(wù)連接在一起,而是描述配置文件中哪些組件需要哪些服務(wù)。由IoC 容器將它們裝配在一起。2.3. 可以通過(guò)多少種方式完成依賴注入?通常,依賴注入可以通過(guò)三種方式完成,即:構(gòu)造函數(shù)注入§setter 注入§接口注入§在 Spring Framework 中,僅使用構(gòu)造函數(shù)和setter注入。
9、2.4. 區(qū)分構(gòu)造函數(shù)注入和 setter 注入。構(gòu)造函數(shù)注入 setter 注入沒(méi)有部分注入有部分注入覆蓋 setter 屬性會(huì)覆蓋 setter 屬性任意修改都會(huì)創(chuàng)建一個(gè)新實(shí)例任意修改創(chuàng)建一個(gè)新實(shí)例適用于設(shè)置很多屬性適用于設(shè)置少量屬性2.5. spring 中有多少種 IOC 容器?BeanFactory - BeanFactory 就像一個(gè)包含 bean 集合的工廠類。它會(huì)§在客戶端要求時(shí)實(shí)例化 bean。ApplicationContext - ApplicationContext 接口擴(kuò)展了 BeanFactory§接口。它在 BeanFactory 基礎(chǔ)上提供了
10、一些額外的功能。2.6. 區(qū)分 BeanFactory 和 ApplicationContext。BeanFactoryApplicationContext 它使用懶加載它使用即時(shí)加載它使用語(yǔ)法顯式提供對(duì)象它創(chuàng)建和管理對(duì)象不支際化支際化不支持基于依賴的注解支持基于依賴的注解2.7. 列舉 IoC 的一些好處。IoC 的一些好處是:它將最小化應(yīng)用程序中的代碼量。§它將使您的應(yīng)用程序易于測(cè)試,因?yàn)樗恍枰獑卧獪y(cè)試用例中的任何單例§或 JNDI 查找機(jī)制。它以最小的影響和最少的侵入機(jī)制促進(jìn)松耦合。§它支持即時(shí)的實(shí)例化和延遲加載服務(wù)。§2.8. Spring I
11、oC 的實(shí)現(xiàn)機(jī)制。Spring 中的 IoC 的實(shí)現(xiàn)原理就是工廠模式加反射機(jī)制。示例:interface Fruit public abstract void eat();class Apple implements Fruit public void eat()System.out.println("Apple");class Orange implements Fruit public void eat()System.out.println("Orange");class Factory public static Fruit getInstanc
12、e(String ClassName) Fruit f=null;try f=(Fruit)Class.forName(ClassName).newInstance(); catch (Exception e) e.printStackTrace();return f;class Client public static void main(String a) Fruit f=Factory.getInstance("io.dunwu.spring.Apple");if(f!=null)f.eat();3. Beans3.1. 什么是spring bean?它們是用戶應(yīng)用程
13、序主干的對(duì)象。§Bean 由 Spring IoC 容器管理。§它們由 Spring IoC 容器實(shí)例化,配置,裝配和管理。§Bean 是基于用戶提供給容器的配置元數(shù)據(jù)創(chuàng)建。§3.2. spring 提供了哪些配置方式?基于 xml 配置§bean 所需的依賴項(xiàng)和服務(wù)在 XML 格式的配置文件中指定。這些配置文件通常包含許多 bean特定于應(yīng)用程序的配置選項(xiàng)。它們通常以 bean開(kāi)頭。例如:<bean id="studentbean" class="reka.firstSpring.Studen
14、tBean"><property name="name" value="Edureka"></property></bean>基于注解配置§您可以通過(guò)在相關(guān)的類,方法或字段上使用注解,將 bean 配置為組件類本身,而不是使用 XML 來(lái)描述 bean 裝配。默認(rèn)情況下,Spring 容器中未打開(kāi)注解裝配。因此,您需要在使用它之前在Spring配置文件中啟用它。例如:<beans><context:annotation-config/><!- bean defin
15、itions go here -></beans>基于 Java API 配置§Spring 的 Java 配置是通過(guò)使用 Bean和Configuration 來(lái)實(shí)現(xiàn)。Bean 注解扮演與 <bean /> 元素相同的。1.Configuration 類通過(guò)簡(jiǎn)單地調(diào)用同一個(gè)類中的其他 Bean方2.法來(lái)定義 bean 間依賴關(guān)系。例如:Configurationpublic class StudentConfig Beanpublic StudentBean myStudent() return new StudentBean();3.3. sprin
16、g 支持集中 bean scope?Spring bean 支持 5 種 scope:Singleton - 每個(gè) Spring IoC 容器僅有一個(gè)單實(shí)例。§Prototype - 每次請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的實(shí)例。§Request - 每一次 HTTP 請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的實(shí)例,并且該 bean§僅在當(dāng)前 HTTP 請(qǐng)求內(nèi)有效。Session - 每一次 HTTP 請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的 bean,同時(shí)該 bean§僅在當(dāng)前 HTTP session 內(nèi)有效。Global-session - 類似于標(biāo)準(zhǔn)的 HTTP Session 作用域,不過(guò)它僅僅在
17、167;基于 portlet 的 web 應(yīng)用中才有意義。Portlet 規(guī)范定義了全局 Session 的概念,它被所有某個(gè) portlet web 應(yīng)用的各種不同的 portlet 所共享。在global session 作用域中定義的 bean 被限定于全局 portlet Session 的生命周期范圍內(nèi)。如果你在 web 中使用 global session 作用域來(lái)標(biāo)識(shí) bean,那么 web 會(huì)自動(dòng)當(dāng)成 session 類型來(lái)使用。僅當(dāng)用戶使用支持 Web 的 ApplicationContext 時(shí),最后三個(gè)才可用。3.4. spring bean 容器的生命周期是什么樣的?s
18、pring bean 容器的生命周期流程如下:Spring 容器根據(jù)配置中的 bean 定義中實(shí)例化 bean。1.Spring 使用依賴注入填充所有屬性,如 bean 中所定義的配置。2.如果 bean 實(shí)現(xiàn) BeanNameAware 接口,則工廠通過(guò)傳遞 bean的3.ID 來(lái)調(diào)用 setBeanName()。如果 bean 實(shí)現(xiàn) BeanFactoryAware 接口,工廠通過(guò)傳遞自身的實(shí)例4.來(lái)調(diào)用 setBeanFactory()。如果存在與bean 關(guān)聯(lián)的任何BeanPostProcessors , 則調(diào)用5.preProcessBeforeInitialization() 方法
19、。如果為 bean 指定了 init 方法(<bean> 的 init-method 屬性),那6.調(diào)用它。最后,如果存在與 bean 關(guān)聯(lián)的任何 BeanPostProcessors,則將調(diào)用7.postProcessAfterInitialization() 方法。如果 bean 實(shí)現(xiàn) DisposableBean 接口,當(dāng) spring 容器關(guān)閉時(shí),會(huì)調(diào)8.用 destory()。如果為 bean 指定了 destroy 方法(<bean> 的 destroy-method 屬9.性),那調(diào)用它。3.5. 什么是 spring 的內(nèi)部 bean?只有將 bean
20、用作另一個(gè) bean 的屬性時(shí),才能將 bean為內(nèi)部 bean。為了定義 bean,Spring 的基于 XML 的配置元數(shù)據(jù)在 <property> 或<constructor-arg> 中提供了 <bean> 元素的使用。內(nèi)部 bean 總是的,它們總是作為原型。例如,假設(shè)我們有一個(gè) Student 類,其中了類。這里只創(chuàng)建一個(gè)類實(shí)例并在 Student 中使用它。Student.javapublic class Student private;/Setters and Getterspublic classprivate String name;pr
21、ivate String address;/Setters and Gettersbean.xml<bean id=“StudentBean" class="reka.Student"><property name=""><!-This is inner bean -><bean class="reka."><property name="name" value=“Scott"></property&g
22、t;<property name="address" value=“Bangalore"></property></bean></property></bean>3.6. 什么是 spring 裝配當(dāng) bean 在 Spring 容器中組合在一起時(shí),它被稱為裝配或 bean 裝配。Spring 容器需要知道需要什么 bean 以及容器應(yīng)該如何使用依賴注bean 綁定在一起,同時(shí)裝配 bean。3.7. 自動(dòng)裝配有哪些方式?Spring 容器能夠自動(dòng)裝配 bean。也就是說(shuō),可以通過(guò)檢查 BeanFacto
23、ry的Spring 自動(dòng)bean 的協(xié)作者。自動(dòng)裝配的不同模式:no - 這是默認(rèn)設(shè)置,表示沒(méi)有自動(dòng)裝配。應(yīng)使用顯式 bean進(jìn)行裝§配。byName - 它根據(jù) bean 的名稱注入對(duì)象依賴項(xiàng)。它匹配并裝配其屬性§與 XML 文件中由相同名稱定義的 bean。byType - 它根據(jù)類型注入對(duì)象依賴項(xiàng)。如果屬性的類型與 XML 文件中§的一個(gè) bean 名稱匹配,則匹配并裝配屬性。構(gòu)造函數(shù) - 它通過(guò)調(diào)用類的構(gòu)造函數(shù)來(lái)注入依賴項(xiàng)。它有大量的參數(shù)。§autodetect - 首先容器嘗試通過(guò)構(gòu)造函數(shù)使用 autowire 裝配,如果不§能,則嘗
24、試通過(guò) byType 自動(dòng)裝配。3.8. 自動(dòng)裝配有什么局限?覆蓋的可能性 - 您始終可以使用 <constructor-arg> 和 <property>§設(shè)置指定依賴項(xiàng),這將覆蓋自動(dòng)裝配?;驹獢?shù)據(jù)類型 - 簡(jiǎn)單屬性(如原數(shù)據(jù)類型,字符串和類)無(wú)法自動(dòng)裝§配。令人困惑的性質(zhì) - 總是喜歡使用明確的裝配,因?yàn)樽詣?dòng)裝配不太精確。§4、注解4.1. 什么是基于注解的容器配置不使用 XML 來(lái)描述 bean 裝配,開(kāi)發(fā)通過(guò)在相關(guān)的類,方法或字段上使用注解將配置移動(dòng)到組件類本身。它可以作為 XML 設(shè)置的替代方案。例如:Spring 的 Java
25、 配置是通過(guò)使用 Bean 和 Configuration 來(lái)實(shí)現(xiàn)。Bean 注解扮演與§元素相同的。§Configuration 類通過(guò)簡(jiǎn)單地調(diào)用同一個(gè)類中的其他Bean方§法來(lái)定義 bean 間依賴關(guān)系。例如:Configurationpublic class StudentConfig Beanpublic StudentBean myStudent() return new StudentBean();4.2. 如何在 spring 中啟動(dòng)注解裝配?默認(rèn)情況下,Spring 容器中未打開(kāi)注解裝配。因此,要使用基于注解裝配,我們必須通過(guò)配置<conte
26、xt:annotation-config /> 元素在 Spring 配置文件中啟用它。4.3. Component, Controller, Repository, Service 有何區(qū)別?Component:這將 java 類標(biāo)記為 bean。它是任何 Spring 管理組§件的通用構(gòu)造型。spring 的組件掃描機(jī)制現(xiàn)在可以將其拾取并將其拉入應(yīng)用程序環(huán)境中。Controller:這將一個(gè)類標(biāo)記為 Spring Web MVC器。標(biāo)有它的§Bean 會(huì)自動(dòng)導(dǎo)入到 IoC 容器中。Service:此注解是組件注解的特化。它對(duì) Component 注解§提
27、 供 任 何 其 他 行 為 。 您 可 以 在 服 務(wù) 層 類 中 使 用Service 而不是 Component,因?yàn)樗愿玫姆绞街付艘鈭D。Repository:這個(gè)注解是具有類似用途和功能的 Component 注解§的特化。它為 DAO 提供了額外的好處。它將 DAO 導(dǎo)入 IoC 容器,并使檢查的異常有資格轉(zhuǎn)換為 Spring DataAccessException。4.4. Required 注解有什么用?Required 應(yīng)用于 bean 屬性 setter 方法。此注解僅指示必須在配置時(shí)使用bean 定義中的顯式屬性值或使用自動(dòng)裝配填充受影響的 bean 屬性。
28、如果尚未填充受影響的 bean 屬性,則容器將拋出BeanInitializationException。示例:public class Employee private String name;Requiredpublic void setName(String name)=name;public string getName()return name;4.5. Autowired 注解有什么用?Autowired 可以更準(zhǔn)確地應(yīng)該在何處以及如何進(jìn)行自動(dòng)裝配。此注解用于在 setter 方法,構(gòu)造函數(shù),具有任意名稱或多個(gè)參數(shù)的屬性或方法上自動(dòng)裝配 bean。默認(rèn)情況下,它是
29、類型驅(qū)動(dòng)的注入。public class Employee private String name;Autowiredpublic void setName(String name) =name;public string getName()return name;4.6. Qualifier 注解有什么用?當(dāng)您創(chuàng)建多個(gè)相同類型的 bean 并希望僅使用屬性裝配其中一個(gè)bean 時(shí),您可以使用Qualifier 注解和 Autowired 通過(guò)指定應(yīng)該裝配哪個(gè)確切的bean 來(lái)消除歧義。例如,這里我們分別有兩個(gè)類,Employee 和 EmpAccount。在 EmpAcco
30、unt中,使用Qualifier 指定了必須裝配 id 為 emp1 的 bean。Employee.javapublic class Employee private String name;Autowiredpublic void setName(String name) =name;public string getName() return name;EmpAccount.javapublic class EmpAccount private Employee emp;AutowiredQualifier(emp1)public void showName() Sys
31、tem.out.println(“Employee name :”+emp.getName);4.7. RequestMapping 注解有什么用?RequestMapping 注解用于將特定 HTTP 請(qǐng)求方法到將處理相應(yīng)請(qǐng)求的器中的特定類/方法。此注釋可應(yīng)用于兩個(gè)級(jí)別:類級(jí)別:請(qǐng)求的 URL§方法級(jí)別:URL 以及 HTTP 請(qǐng)求方法§5、數(shù)據(jù)5.1. spring DAO 有什么用?Spring DAO 使得 JDBC,Hibernate 或 JDO 這樣的數(shù)據(jù)技術(shù)更容易以一的方式工作。這使得用戶容易在持久性技術(shù)之間切換。它還您在編寫(xiě)代碼時(shí),無(wú)需考慮捕獲每種技術(shù)不同的
32、異常。5.2. 列舉 Spring DAO 拋出的異常。5.3. spring JDBC API 中存在哪些類?JdbcTemplate§SimpleJdbcTemplate§NamedParameterJdbcTemplate§SimpleJdbcInsert§SimpleJdbcCall§5.4. 使用 SpringHibernate 的方法有哪些?我們可以通過(guò)兩種方式使用 SpringHibernate:使用 Hibernate 模板和回調(diào)進(jìn)行反轉(zhuǎn)1.擴(kuò)展 HibernateDAOSupport 并應(yīng)用 AOP器節(jié)點(diǎn)2.5.5. 列舉 s
33、pring 支持的事務(wù)管理類型Spring 支持兩種類型的事務(wù)管理:程序化事務(wù)管理:在此過(guò)程中,在編程的幫助下管理事務(wù)。它為您提供極1.大的靈活性,但維護(hù)起來(lái)非常。式事務(wù)管理:在此,事務(wù)管理與業(yè)務(wù)代碼分離。僅使用注解或基于2.XML 的配置來(lái)管理事務(wù)。5.6. spring 支持哪些 ORM框架Hibernate§iBatis§JPA§JDO§OJB§6、AOP6.1. 什么是 AOP?AOP(Aspect-Oriented Programming), 即 面向切面編程, 它與OOP( Object-Oriented Programming,
34、面向?qū)ο缶幊? 相輔相成, 提供了與OOP 不同的抽象軟件結(jié)構(gòu)的視角.在 OOP 中, 我們以類(class)作為我們的基本單元, 而 AOP 中的基本單元是 Aspect(切面)6.2. 什么是 Aspect?aspect 由 pointcount 和 advice 組成, 它既包含了橫切邏輯的定義, 也包括了連接點(diǎn)的定義. Spring AOP 就是負(fù)責(zé)實(shí)施切面的框架, 它將切面所定義的橫切邏輯編織到切面所指定的連接點(diǎn)中.AOP 的工作重心在于如何將增強(qiáng)編織目標(biāo)對(duì)象的連接點(diǎn)上, 這里包含兩個(gè)工作:如何通過(guò) pointcut 和 advice到特定的 joinpoint 上1.如何在 adv
35、ice 中編寫(xiě)切面代碼.2.可以簡(jiǎn)單地認(rèn)為, 使用 Aspect 注解的類就是切面.6.3. 什么是切點(diǎn)(JoinPoint)程序運(yùn)行中的一些時(shí)間點(diǎn), 例如一個(gè)方法的執(zhí)行, 或者是一個(gè)異常的處理.在 Spring AOP 中, join point 總是方法的執(zhí)行點(diǎn)。6.4. 什么是通知(Advice)?特定 JoinPoint 處的 Aspect 所采取的動(dòng)作稱為 Advice。Spring AOP 使用一個(gè) Advice 作為器,在 JoinPoint “周?chē)本S護(hù)一系列的器。6.5. 有哪些類型(Advice)?Before - 這些類型的 Advice 在 joinpoint 方法之前
36、執(zhí)行,并使用§Before 注解標(biāo)記進(jìn)行配置。After Returning - 這些類型的 Advice 在連接點(diǎn)方法正常執(zhí)行后執(zhí)§行,并使用AfterReturning 注解標(biāo)記進(jìn)行配置。After Throwing - 這些類型的 Advice 僅在 joinpoint 方法通過(guò)拋出§異常并使用 AfterThrowing 注解標(biāo)記配置時(shí)執(zhí)行。After (finally) - 這些類型的 Advice 在連接點(diǎn)方法之后執(zhí)行,無(wú)論方§法是正常還是異常返回,并使用 After 注解標(biāo)記進(jìn)行配置。Around - 這些類型的 Advice 在連接點(diǎn)之前
37、和之后執(zhí)行, 并使用§Around 注解標(biāo)記進(jìn)行配置。6.6. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之處。concern 是我們想要在應(yīng)用程序的特定模塊中定義的行為。它可以定義為我們想要實(shí)現(xiàn)的功能。cross-cutting concern 是一個(gè)適用于整個(gè)應(yīng)用的行為,這會(huì)影響整個(gè)應(yīng)用程序。例如,日志,安全性和數(shù)據(jù)傳輸是應(yīng)用程序幾乎每個(gè)模塊都需要關(guān)注的問(wèn)題,因此它們是跨領(lǐng)域的問(wèn)題。6.7. AOP 有哪些實(shí)現(xiàn)方式?實(shí)現(xiàn) AOP 的技術(shù),主要分為兩大類:靜態(tài)- 指使用 AOP 框架提供令進(jìn)行編譯,從而在編譯階段就
38、67;可生成 AOP類,因此也稱為編譯;編譯時(shí)編織(特殊編譯器實(shí)現(xiàn))§類加載時(shí)編織(特殊的類加載器實(shí)現(xiàn))。§動(dòng)態(tài)- 在運(yùn)行時(shí)在內(nèi)存中“臨時(shí)”生成 AOP 動(dòng)態(tài)類,因此也§被稱為運(yùn)行。JDK 動(dòng)態(tài)§CGLIB§6.8. Spring AOP and AspectJ AOP 有什么區(qū)別?Spring AOP 基于動(dòng)態(tài)方式實(shí)現(xiàn);AspectJ 基于靜態(tài)方式實(shí)現(xiàn)。Spring AOP 僅支持方法級(jí)別的 PointCut;提供了完全的 AOP 支持,它還支持屬性級(jí)別的 PointCut。6.9. 如何理解 Spring 中的?將 Advice 應(yīng)用于目標(biāo)對(duì)象后創(chuàng)建的對(duì)象稱為。在客戶端對(duì)象的情況下,目標(biāo)對(duì)象和對(duì)象是相同的。Advice + Target Object = Proxy6.10. 什么是編織(Weaving)?為了創(chuàng)建一個(gè) advice 對(duì)象而一個(gè) aspect 和其它應(yīng)用類型或?qū)ο?,稱為編織(Weavi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人酒店租房合同范本
- 合同范本寫(xiě)才有效
- 洗車(chē)店轉(zhuǎn)讓合同范本
- 單位不續(xù)約勞動(dòng)合同范本
- 廠房建設(shè)經(jīng)營(yíng)合同范本
- 北京車(chē)輛抵押合同范本
- 勞務(wù)合同范本jiandan
- 雙控資金合同范本
- 勞務(wù)材料合同范本
- 口頭約定合同范本
- 禮儀與教化 課件-2023-2024學(xué)年高中美術(shù)湘美版(2019)美術(shù)鑒賞
- 新生兒早期基本保健課件
- 采礦學(xué)課程設(shè)計(jì)硯北煤礦新井設(shè)計(jì)全套圖紙
- 第19章-城市設(shè)計(jì)課件
- 人事管理管理制度
- 大型儲(chǔ)罐計(jì)算書(shū)
- 2022-2023學(xué)年廣東省廣州市荔灣區(qū)統(tǒng)考初三第一次??紨?shù)學(xué)試題含解析
- 針對(duì)本項(xiàng)目售后服務(wù)方案
- 2022年桂林電子科技大學(xué)高等學(xué)歷繼續(xù)教育學(xué)士學(xué)位英語(yǔ)考試真
- 新人教版七至九年級(jí)英語(yǔ)單詞表 漢譯英(含音標(biāo))
- 新固廢法課件PPT
評(píng)論
0/150
提交評(píng)論