日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

加上项目路径 spring security忽略不生效_Spring 常见面试题「收藏」

發(fā)布時間:2024/9/27 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加上项目路径 spring security忽略不生效_Spring 常见面试题「收藏」 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Spring 常見面試題

1 Spring框架是什么?它的主要模塊有哪些?

Spring框架是一個Java平臺,提供全面的基礎(chǔ)設(shè)施支持開發(fā)Java應(yīng)用程序。Spring處理基礎(chǔ)設(shè)施部分,這樣你就可以專注于應(yīng)用程序部分。Spring框架內(nèi),把一級對象通過設(shè)計模式封裝起來,您可以放心的集成到您自己的應(yīng)用程序而不用關(guān)注他們?nèi)绾卧诤笈_工作。

目前,Spring框架由功能組織成大約20個模塊。這些模塊分為核心容器、數(shù)據(jù)訪問/集成、Web,AOP(面向切面的編程)、instrument(支持和類加載器的實現(xiàn)來在特定的應(yīng)用服務(wù)器上使用)、消息、和測試,如下列圖所示。

2 使用Spring框架的好處是什么?

下面是一些使用Spring框架的好處的列表:

通過依賴注入(DI)方式,在構(gòu)造方法或者java bean屬性上,依賴關(guān)系是明確的和明顯的。

IoC容器往往是輕量級的,特別是與EJB容器相比。這是有利于在有限的內(nèi)存和CPU資源的計算機(jī)上開發(fā)和部署應(yīng)用程序。

Spring不重新發(fā)明輪子,相反,它利用一些現(xiàn)有的技術(shù)如幾個ORM框架,日志框架,JEE,quartz和JDK計時器,其他視圖技術(shù)等。

Spring是模塊化的。盡管包和類很重要,你只關(guān)心你需要的模塊,忽略其它模塊。

在Spring測試應(yīng)用程序很簡單,因為依賴環(huán)境的代碼被移入到框架本身。此外,通過使用JavaBean-style pojo方式,使用依賴注入注入測試數(shù)據(jù)變得更容易。

Spring的web框架是一個設(shè)計良好的web MVC框架,它可以很好的替代其它web框架如struts或者其它web框架。

Spring提供了一致的事務(wù)管理界面,可以管理小到一個本地事務(wù)(例如,使用一個數(shù)據(jù)庫)和大到全局事務(wù)(例如,使用JTA)。

3 什么是控制反轉(zhuǎn)(IoC)和依賴項注入?

依賴注入和控制反轉(zhuǎn)是對同一件事情的不同描述,從某個方面講,就是它們描述的角度不同。

依賴注入是從應(yīng)用程序的角度在描述,可以把依賴注入描述完整點:應(yīng)用程序依賴容器創(chuàng)建并注入它所需要的外部資源;

而控制反轉(zhuǎn)是從容器的角度在描述,描述完整點:容器控制應(yīng)用程序,由容器反向的向應(yīng)用程序注入應(yīng)用程序所需要的外部資源。

在Java中,依賴注入可能發(fā)生三種方法:

構(gòu)造方法注入

setter方法注入

接口注入

4 Spring框架的IOC是怎么樣的?

org.springframework.beans和org.springframework.context包是Spring框架IoC容器的基礎(chǔ)。

BeanFactory接口提供了一個高級的配置機(jī)制來管理任意屬性的對象。

ApplicationContext接口基于BeanFactory構(gòu)建的(是一個子接口)并添加其他功能,如Spring的AOP功能,信息資源處理(用于國際化)、事件傳播和應(yīng)用程序?qū)拥奶囟ㄉ舷挛娜缭趙eb應(yīng)用程序中使用WebApplicationContext。

org.springframework.beans.factory.BeanFactory是Spring IoC容器真是展現(xiàn),負(fù)責(zé)管理上述bean。BeanFactory接口是Spring IoC容器接口的核心。

5 BeanFactory和ApplicationContext之間的區(qū)別?

一個BeanFactory就像包含bean集合的工廠類。BeanFactory在內(nèi)部持有多個Bean的定義,當(dāng)客戶端請求bean時,將bean進(jìn)行實例化。

初始化時BeanFactory能夠保持對象的依賴關(guān)系。這減輕了負(fù)擔(dān)從bean本身和bean客戶機(jī)的配置。BeanFactory在一個bean的生命周期也能其作用,它可以調(diào)用bean的自定義初始化和銷毀方法。

表面上看,applicationContext和BeanFactory是一樣。同樣加載bean定義,將bean連接在一起,分發(fā)bean。但applicationContext還提供:

一種解析消息的手段,包括對國際化的支持。

一個更通用的加載文件資源的方法。

bean事件注冊為監(jiān)聽器。

三個常用的ApplicationContext實現(xiàn)是:

ClassPathXmlApplicationContext:它從classpath路徑下的一個XML文件加載context的,將Context作為classpath下的資源。加載應(yīng)用程序classpath下的context使用的代碼如下:ApplicationContext context = new ClassPathXmlApplicationContext(“bean.xml”);FileSystemXmlApplicationContext:它從文件系統(tǒng)的一個XML文件加載上下文定義的。從文件系統(tǒng)加載應(yīng)用程序上下文通過如下代碼實現(xiàn)。ApplicationContext context = new FileSystemXmlApplicationContext(“bean.xml”);

XmlWebApplicationContext:它從一個web應(yīng)用程序中包含的XML文件加載context。

6 將Spring配置應(yīng)用程序的方式有哪些呢?

配置spring到您的應(yīng)用程序有三種方式:

基于XML的配置

基于注解的配置

基于java的配置

7 基于xml的Spring配置是什么樣子的?

在Spring框架中,bean所需的依賴和服務(wù)在定義在配置文件中,配置文件通常是XML格式。通常這些配置文件都以標(biāo)簽開始,含有大量的bean定義和特定于應(yīng)用程序的配置選項。Spring XML配置的主要目標(biāo)是讓所有spring組件通過使用XML配置文件。

這意味著不會出現(xiàn)任何其他類型的Spring配置(如通過Java類注釋或配置)。Spring XML配置中使用Spring命名空間提供的XML標(biāo)記中使用的配置;Spring命名空間主要有:context、bean、jdbc、tx, aop, mvc等。

? ?????????????

最簡單的讓您的應(yīng)用程序加載配置文件和配置運行時組件方式是在web.xml文件中配置DispatcherServlet,如下所示:

Archetype Created Web Applicationspring org.springframework.web.servlet.DispatcherServlet 1spring/????????

8 基于java的Spring配置是什么樣子的?

在支持spring的新java配置組件中,@Configuration注解的類和@Bean注解的方法是核心組件。

@Bean注解用于通過方法來實例化,配置和初始化一個新的由Spring IoC容器管理的對象。@Bean注解和元素扮演相同的角色。

在一個類上使用@Configuration注解,其主要用途是作為bean定義的來源。此外, 在同一個類中@Configuration類允許inter-bean定義通過簡單地調(diào)用實現(xiàn)依賴關(guān)系。最簡單的@Configuration注解類如下:

@Configurationpublic class AppConfig{ @Bean public MyService myService() { return new MyServiceImpl(); }}

上面注解類等價于基于XML配置文件如下:

為了使這樣的配置能生效,需要使用AnnotationConfigApplicationContext的幫助。

public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class); MyService myService = ctx.getBean(MyService.class); myService.doStuff();}

為使組件掃描生效,只需要@Configuration類注解如下:

@Configuration@ComponentScan(basePackages = "com.howtodoinjava")public class AppConfig { ...}

在上面的示例中com.howtodoinjava包將被掃描,尋找任何帶注解@Component的類,這些類將在容器內(nèi)登記為Spring bean。

如果你使用以上的方式配置一個web應(yīng)用程序,那么需要AnnotationConfigWebApplicationContext類來使之生效。AnnotationConfigWebApplicationContext的使用可以通過配置Spring ContextLoaderListener的servlet listener,Spring MVC DispatcherServlet等。

contextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocationcom.howtodoinjava.AppConfigorg.springframework.web.context.ContextLoaderListenerdispatcherorg.springframework.web.servlet.DispatcherServletcontextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocationcom.howtodoinjava.web.MvcConfigdispatcher/app/*

9 基于Spring注解的配置是什么樣子的?

從Spring 2.5就可以使用注解來配置依賴注入。而不是使用XML來描述一個bean的注入,你可以通過使用注解相關(guān)的類,方法或字段聲明將bean配置的移到注解類本身。

注釋注入執(zhí)行XML注入之前,因此后者配置將會覆蓋前者屬性連接通過這兩種方法。

默認(rèn)情況下,spring容器沒有打開自動注解功能。所以在使用具有spring注解之前,我們需要在我們的Spring配置文件啟用它。如果你想在Spring應(yīng)用程序中使用的自動注解,考慮配置文件上加上下面的配置。

???

一旦配置了,表明在Spring中您可以開始使用屬性,方法和構(gòu)造函數(shù)的自動注入。

一些重要的注解:

@required: @ required注解適用于bean屬性setter方法。

@autowired: @ autowired注解可以適用于bean屬性setter方法,non-setter方法、構(gòu)造函數(shù)和屬性。

@qualifier: @ qualifier注解加上@ autowired可以用來消除多個bean混亂來保證唯一的bean注入。

jsr - 250注釋:Spring支持基于jsr - 250的注解如@Resource、@PostConstruct和@PreDestroy。

10 請解釋一下Spring Bean的生命周期?

一個Spring bean的生命周期很容易理解。當(dāng)一個bean實例化時可能需要執(zhí)行一些初始化動作進(jìn)入使bean達(dá)到一個可用的狀態(tài)。同樣,當(dāng)不再需要bean時,將bean從容器中移除,可能需要銷毀。

Spring beanFactory通過Spring容器負(fù)責(zé)管理bean的生命周期。bean的生命周期包括可以大體分類為兩類的回調(diào)方法

初始化后的回調(diào)方法

銷毀前的回調(diào)方法

Spring框架提供了以下四種方法控制bean的生命周期事件:

InitializingBean和DisposableBean回調(diào)接口

其他知道接口為特定的行為

定制的init()和destroy()方法在bean配置文件

@PostConstruct和@PreDestroy注解

例如, customInit()和 customDestroy()方法生命周期方法的例子。

11 Spring Bean的作用域scope有哪些?

spring容器中的bean有5中scope,分別是:

單例singleton:默認(rèn)情況下都是單例的,它要求在每個spring 容器內(nèi)不論你請求多少次這個實例,都只有一個實例。單例特性是由beanfactory本身維護(hù)的。

原型prototype:這個bean的實例和單例相反,一個新的請求產(chǎn)生一個新的bean實例。

請求request:在一個請求內(nèi),將會為每個web請求的客戶端創(chuàng)建一個新的bean實例。一旦請求完成后,bean將失效,然后被垃圾收集器回收掉。

會話session:就像請求范圍,這樣可以確保每個用戶會話bean的一個實例。當(dāng)用戶結(jié)束其會話,bean失效。

全局會話global-session:應(yīng)用到Portlet應(yīng)用程序。基于Servlet的應(yīng)用程序和會話相同。

12 spring的內(nèi)部Bean是什么?

在Spring框架中,當(dāng)一個bean只用于一個特定屬性,建議將它聲明為一個內(nèi)在的bean。內(nèi)部bean同時支持setter注入屬性和構(gòu)造函數(shù)注入“constructor-arg”。

例如,假設(shè)一個Customer類的引用Person類。在我們的應(yīng)用程序中,我們將只創(chuàng)建一個Person類的實例,并在Customer使用它。

public class Customer{ private Person person; //Setters and Getters}public class Person{ private String name; private String address; private int age; //Setters and Getters}

現(xiàn)在內(nèi)部bean聲明是這樣的:

13 在Spring框架中,單例bean是線程安全的嗎?

Spring框架不對單例的bean做任何多線程的處理。單例的bean的并發(fā)問題和線程安全是開發(fā)人員的責(zé)任。

而實際上,大多數(shù)spring bean沒有可變狀態(tài)(例如服務(wù)和DAO的類),這樣的話本身是線程安全的。但如果您的bean有可變狀態(tài)(例如視圖模型對象),這就需要你來確保線程安全。

這個問題最簡單和明顯的解決方案是改變bean Scope,可變的bean從“單例”到“原型”。

14 如何在Spring里注入Java集合?請給個例子好嗎?

Spring提供了四種類型的配置元素集合,如下:

:幫助注入一組值,允許重復(fù)。

:幫助注入一組值,不允許重復(fù)。

< map>:幫助注入一個K-V的集合,名稱和值可以是任何類型的。

:幫助注入一個名稱-值對集合,名稱和值都是字符串。

讓我們看看每種類型的例子。

INDIAPakistanUSAUKINDIAPakistanUSAUKadmin@nospam.comsupport@nospam.com

15 如何將一個java.util.屬性注入到Spring Bean ?

第一個方法是使用標(biāo)記如下。

admin@nospam.comsupport@nospam.com

也可以使用“util:“名稱空間創(chuàng)建bean的屬性文件,并使用bean的setter方法注入。

16 解釋一下Spring Bean的自動注入是怎么樣的?

在spring框架中,在配置文件中設(shè)置bean的依賴是一個很好的辦法,但spring容器也能夠自動注入不同bean之間的關(guān)系。這意味著,通過檢查BeanFactory的內(nèi)容它可以為您的bean自動注入其他bean。

可以為每個bean指定是否自動注入,因此可以支持一些Bean支持自動注入,而一些bean不會自動注入。

下面從XML配置文件摘錄了自動根據(jù)名稱注入的bean。

除了提供的自動裝配模式bean配置文件,也可以在bean類中指定自動裝配使用 @Autowired注釋。

注意:在bean類使用@Autowired注解,您必須在spring應(yīng)用程序中先啟用下面的注解。

也可以通過在配置文件使用AutowiredAnnotationBeanPostProcessorbean來完成。

現(xiàn)在,當(dāng)注釋配置已經(jīng)啟用,您可以自由使用@Autowired來自動注入bean依賴關(guān)系,以你喜歡的方式。

@Autowiredpublic EmployeeDAOImpl ( EmployeeManager manager ) { this.manager = manager;}

17 請解釋一下不同的bean自動注入模式?

在Spring有五個自動注入模式。讓我們逐個討論。

no:默認(rèn)情況下,spring框架的自動注入選項,即默認(rèn)情況不開啟自動注入。這意味著你必須使用標(biāo)簽在bean定義中顯式地設(shè)置依賴項。

byName:這個選項使基于bean的名稱的依賴項注入。當(dāng)自動裝配在bean屬性,用屬性名搜索匹配的bean定義配置文件。如果找到這樣的bean,注入屬性。如果沒有找到這樣的bean,就會產(chǎn)生一個錯誤。

byType:該選項允許基于bean的類型的依賴項注入。當(dāng)在bean屬性需要自動注入時,使用屬性類的類型來搜索匹配的bean定義配置文件。如果找到這樣的bean,注入屬性。如果沒有找到這樣的bean,就會產(chǎn)生一個錯誤。

constructor:構(gòu)造方法類似于byType自動注入,但適用于構(gòu)造方法的參數(shù)。在自動注入bean時,它在所有構(gòu)造函數(shù)參數(shù)類型中尋找匹配的構(gòu)造函數(shù)的類類型參數(shù),然后進(jìn)行自動注入,。請注意,如果在容器中沒有一個bean構(gòu)造函數(shù)參數(shù)類型滿足,會拋出一個致命錯誤。

autodetect:自動偵測使用兩種模式即構(gòu)造函數(shù)或byType模式的自動注入。首先它將試圖尋找有效的構(gòu)造方法參數(shù),如果發(fā)現(xiàn)構(gòu)造方法模式則選擇。如果沒有構(gòu)造方法中定義bean,或者明確的默認(rèn)無參構(gòu)造方法,則選擇byType模式自動注入。

18 怎么打開基于注釋的自動注入的?

要啟用@Autowired,你必須注冊AutowiredAnnotationBeanPostProcessor,你可以用兩種方式。

1. 在bean配置文件使用。

2. 直接將AutowiredAnnotationBeanPostProcessor放到bean配置文件。

19 能否用例子解釋一下@ required注解嗎?

在大規(guī)模的應(yīng)用程序中,IoC容器中可能會有成百上千的bean聲明,以及它們之間的依賴關(guān)系通常是非常復(fù)雜的。

setter注入的缺點之一是,很難給你檢查出所需的所有屬性是否已經(jīng)注入。

為了克服這個問題,您可以設(shè)置bean的“dependency-check”屬性,可以設(shè)置四個屬性的其中之一即 none, simple, objects or all (沒有一個是默認(rèn)選項)。

在現(xiàn)實生活中應(yīng)用程序中,您將不會感興趣檢查所有上下文中的bean屬性配置文件。而你想要檢查一些特定的bean是否已設(shè)置特定的屬性。在這種情況下,Spring的依賴項檢查功能將不再適用。

為了解決這個問題,您可以使用@Required注解。在bean屬性使用@Required注解的setter方法類文件如下:

public class EmployeeFactoryBean extends AbstractFactoryBean{ private String designation; public String getDesignation() { return designation; } @Required public void setDesignation(String designation) { this.designation = designation; } //more code here}

RequiredAnnotationBeanPostProcessor是一個spring bean后置處理程序,檢查@Required注解的所有的bean屬性是否已設(shè)置。使用這個bean屬性檢查后置處理程序,您必須注冊在Spring IoC容器中。

如果@Required注解的任何屬性沒有設(shè)置,這個bean的處理器會拋出一個BeanInitializationException異常。

20 能否用例子解釋一下@ autowired注解嗎?

@Autowired注解提供了更細(xì)粒度的控制,以及應(yīng)該如何完成自動注入。@Autowired注解和@Required注解一樣,可用于bean的自動注入,它可以作用于構(gòu)造方法,屬性或具有任意名稱和/或多個參數(shù)的方法。

例如,您可以使用@Autowired注解的setter方法來代替在XML配置文件中的元素。當(dāng)Spring找到一個@Autowired注解的方法,它嘗試使用byType自動注入的方法。

您可以將@Autowired應(yīng)用到構(gòu)造方法。一個構(gòu)造方法使用@Autowired注解表明,即使在XML文件沒有配置bean的元素,當(dāng)創(chuàng)建bean時,構(gòu)造方法也會自動注入。

public class TextEditor { private SpellChecker spellChecker; @Autowired public TextEditor(SpellChecker spellChecker){ System.out.println("Inside TextEditor constructor." ); this.spellChecker = spellChecker; } public void spellCheck(){ spellChecker.checkSpelling(); }}

沒有構(gòu)造方法參數(shù)的配置。

21 能否用例子講解一下@qualifier注解嗎?

@Qualifier限定哪個bean應(yīng)該被自動注入。當(dāng)Spring無法判斷出哪個bean應(yīng)該被注入時,@Qualifier注解有助于消除歧義bean的自動注入。

參見下面的例子,

public class Customer{ @Autowired private Person person;}

我們有兩個bean定義為Person類的實例。

Spring 知道哪個bean應(yīng)該自動注入?不。當(dāng)您運行上面的例子時,拋出如下異常:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.howtodoinjava.common.Person] is defined: expected single matching bean but found 2: [personA, personB]

要解決以上問題,你需要使用@Quanlifier注解告訴Spring 哪個bean應(yīng)該被autowired的。

public class Customer{ @Autowired @Qualifier("personA") private Person person;}

22 構(gòu)造方法注入和setter注入之間的區(qū)別嗎?

有以下幾點明顯的差異:

在Setter注入,可以將依賴項部分注入,構(gòu)造方法注入不能部分注入,因為調(diào)用構(gòu)造方法如果傳入所有的參數(shù)就會報錯。

如果我們?yōu)橥粚傩蕴峁㏒etter和構(gòu)造方法注入,Setter注入將覆蓋構(gòu)造方法注入。但是構(gòu)造方法注入不能覆蓋setter注入值。顯然,構(gòu)造方法注入被稱為創(chuàng)建實例的第一選項。

使用setter注入你不能保證所有的依賴都被注入,這意味著你可以有一個對象依賴沒有被注入。在另一方面構(gòu)造方法注入直到你所有的依賴都注入后才開始創(chuàng)建實例。

在構(gòu)造函數(shù)注入,如果A和B對象相互依賴:A依賴于B,B也依賴于A,此時在創(chuàng)建對象的A或者B時,Spring拋出ObjectCurrentlyInCreationException。所以Spring可以通過setter注入,從而解決循環(huán)依賴的問題。

23 spring框架的事件類型有哪些?

Spring的ApplicationContext具有代碼層上支持事件和監(jiān)聽器的功能。我們可以創(chuàng)建bean監(jiān)聽通過ApplicationContext發(fā)布的事件。ApplicationContext里的事件處理通過提供ApplicationEvent類和ApplicationListener接口來完成。所以如果一個bean實現(xiàn)了ApplicationListener接口,當(dāng)一個ApplicationEvent發(fā)布到ApplicationContext時,該bean將接到通知。

public class AllApplicationEventListener implements ApplicationListener < ApplicationEvent >{ @Override public void onApplicationEvent(ApplicationEvent applicationEvent){ //process event }}

Spring提供了以下5標(biāo)準(zhǔn)事件:

ContextRefreshedEvent:當(dāng)ApplicationContext初始化或刷新時發(fā)布這個事件。這個事件也可以通過ConfigurableApplicationContext接口的refresh()方法來觸發(fā)。

ContextStartedEvent:當(dāng)ApplicationContext被ConfigurableApplicationContext接口的start()方法啟動時發(fā)布這個事件。你可以在收到這一事件后查詢你的數(shù)據(jù)庫或重啟/啟動任何停止的應(yīng)用程序。

ContextStoppedEvent:當(dāng)ApplicationContext被ConfigurableApplicationContext接口的stop()方法關(guān)閉時發(fā)布這個事件。你可以在收到這一事件后做一些清理工作。

ContextClosedEvent:當(dāng)ApplicationContext時被ConfigurableApplicationContext接口的close()方法關(guān)閉時發(fā)布這個事件。一個終結(jié)的上下文達(dá)到生命周期結(jié)束;它不能刷新或重啟。

RequestHandledEvent:這是一個網(wǎng)絡(luò)自身的事件,告訴所有bean:HTTP請求服務(wù)已經(jīng)處理完成。

除了上面的事件,您可以通過擴(kuò)展ApplicationEvent類創(chuàng)建自定義事件。如:

public class CustomApplicationEvent extends ApplicationEvent{ public CustomApplicationEvent ( Object source, final String msg ){ super(source); System.out.println("Created a Custom event"); }}

監(jiān)聽這個事件,創(chuàng)建一個監(jiān)聽器是這樣的:

public class CustomEventListener implements ApplicationListener < CustomApplicationEvent >{ @Override public void onApplicationEvent(CustomApplicationEvent applicationEvent) { //handle event }}

發(fā)布這個事件:

CustomApplicationEvent customEvent = new CustomApplicationEvent( applicationContext, "Test message" );applicationContext.publishEvent ( customEvent );

24 FileSystemResource和ClassPathResource之間的區(qū)別嗎?

在FileSystemResource中你需要給出spring-config.xml(Spring配置)文件相對于您的項目的相對路徑或文件的絕對位置。

在ClassPathResource中Sping查找文件使用ClassPath,因此spring-config.xml應(yīng)該包含在類路徑下。

一句話,ClassPathResource在類路徑下搜索和FileSystemResource在文件系統(tǒng)下搜索。

25 列舉一下Spring框架使用的一些設(shè)計模式?

有很多不同的設(shè)計模式,但有一些明顯的:

代理——在AOP大量使用,還有遠(yuǎn)程模塊。

單例——spring配置文件中定義的bean默認(rèn)是單例的。

模板方法——廣泛使用處理重復(fù)邏輯的代碼。例如RestTemplate, JmsTemplate, JpaTemplate.

前端控制器——Spring提供了DispatcherServlet,確保傳入請求被分派到你的控制器。

視圖助手——Spring有許多定制JSP標(biāo)記,和velocity宏,協(xié)助在視圖層分離展示代碼。

依賴注入——BeanFactory / ApplicationContext的核心概念。

工廠模式——BeanFactory創(chuàng)建一個對象的實例。

參考文獻(xiàn):https://howtodoinjava.com/interview-questions/top-spring-interview-questions-with-answers

關(guān)于Spring 常見面試題,你了解了多少?歡迎在關(guān)注評論!

總結(jié)

以上是生活随笔為你收集整理的加上项目路径 spring security忽略不生效_Spring 常见面试题「收藏」的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。