首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >spring Dispatcher Servlet如何在没有任何XML配置的情况下创建默认bean?

spring Dispatcher Servlet如何在没有任何XML配置的情况下创建默认bean?
EN

Stack Overflow用户
提问于 2012-07-29 10:08:35
回答 2查看 1.3K关注 0票数 1

Spring Dispatcher Servlet如何在没有任何预定义XML配置文件的情况下创建默认bean。(我不是在谈论注解)。

如果我们不给出任何默认值:

1)处理程序映射对象2)多部分解析器3)主题解析器等...在XML配置文件中,Spring自动创建这些bean。

当没有显式声明这些bean时,Spring是如何创建这些bean的呢?一旦创建,这些默认bean在应用程序上下文中是否可用?我的意思是,我们可以通过调用上下文对象上的getBean()方法来获得这些mean吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-29 10:45:51

查看DispatcherServlet.initStrategies()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
protected void initStrategies(ApplicationContext context) {
    initMultipartResolver(context);
    initLocaleResolver(context);
    initThemeResolver(context);
    initHandlerMappings(context);
    initHandlerAdapters(context);
    initHandlerExceptionResolvers(context);
    initRequestToViewNameTranslator(context);
    initViewResolvers(context);
}

您将注意到,DispatcherServlet尝试查找具有某个固定名称的现有bean,如果未找到,则使用默认值或不使用任何内容。

1)处理程序映射对象

如果未配置其他解析器,则不使用任何解析器。

2)多部分解析器

查看AnnotationDrivenBeanDefinitionParser.parse() -相当复杂,请注意。

3)主题解析器

如果未配置其他解析器,则使用FixedThemeResolver

Spring MVC上下文启动的内部结构过于复杂是有原因的--你不应该把它们弄得乱七八糟。只需提供您想要替换的回调或bean。

票数 1
EN

Stack Overflow用户

发布于 2018-05-10 21:31:36

当所提到的"init“方法被调用时,默认对象被添加到上下文中。例如,在private void initHandlerMappings(ApplicationContext context)中,通过调用getDefaultStrategies(context, HandlerMapping.class)获得默认的处理程序映射。在这里,会发生以下情况:

使用DispatcherServlet.properties

  • Create a Class

  • of each.

  • 使用默认类名填充每个String[],但为了实际实例化默认对象,它调用以下方法,传入类实例:

protected Object context(ApplicationContext context,Class clazz) {返回context.getAutowireCapableBeanFactory().createBean(clazz);

}

正是在这里,默认对象被完全初始化为bean。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11708383

复制
相关文章
Servlet开发技术,创建,以及Servlet的配置,web.xml的配置
直接上图,不废话!!! 第一:首先在Eclipse的包资源管理器中,单机鼠标右键,在弹出的快捷键菜单中选择“新建”/Servlet命令,在弹出的对话框中输入新建的Servlet所在的包和类名,然后单击
别先生
2017/12/29
6390
Servlet开发技术,创建,以及Servlet的配置,web.xml的配置
Spring和Spring Boot有啥区别
对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!
用户4283147
2022/10/27
1.4K0
Spring 和 SpringBoot 之间到底有啥区别?
对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!
macrozheng
2020/03/28
4.7K0
SpringBoot:简述SpringBoot和Spring的区别
简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:
全栈程序员站长
2022/08/11
1.7K0
百度面试官:说说 Spring 和 Spring Boot 的区别是什么?
对于 Spring 和 SpringBoot 到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!
终码一生
2022/04/14
7330
Spring 和 SpringBoot 最核心的 3 大区别,详解!
对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累、我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!
好好学java
2020/11/06
1.5K0
详解Spring和SpringBoot的3大核心区别!
对于 Spring和 SpringBoot到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解二者的区别,看完文章中的比较,或许你有了不同的答案和看法!
码神联盟
2021/10/18
2.1K0
详解Spring和SpringBoot的3大核心区别!
Spring Boot 和 Spring 到底有啥区别?用了这么久,你知道吗?
对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水随着经验的积累、我慢慢理解了这两个框架到底有什么区别。
程序员白楠楠
2020/12/01
3.7K0
Spring 4 MVC hello world 教程-完全基于XML(带项目源码)【超赞】
原文地址:http://websystique.com/springmvc/spring-4-mvc-helloworld-tutorial-full-example/
明明如月学长
2021/08/27
4480
关于Spring底层原理面试的那些问题,你是不是真的懂Spring?
Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后台进行工作的。
用户1257393
2018/09/30
3.5K0
关于Spring底层原理面试的那些问题,你是不是真的懂Spring?
SpringBoot之DispatcherServlet详解及源码解析
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序新视界
2019/12/02
1.7K0
25个经典的Spring面试问答
本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案。
bear_fish
2018/09/19
7570
25个经典的Spring面试问答
2022年最新版Spring专项面试突击
Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。
JavaEdge
2022/02/02
3210
2022年最新版Spring专项面试突击
spring配置Bean之基于xml文件的方式
class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以要求bean中必须有一个无参的构造器。
西西嘛呦
2020/08/26
6060
spring配置Bean之基于xml文件的方式
又花了30天肝出来,史上最透彻Spring原理和27道高频面试题总结
在阅读面试题之前,小伙伴们可以先看看我之前发布的系列文章,Spring核心原理包括源码分析和用30个类手写。面试刷题固然很重要,但是知其然知其所以然更重要。
Tom弹架构
2021/12/30
5270
27道高频Spring面试题,你能答对几个?
Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。 Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring框架本身也是按照设计模式精心打造的,这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。
程序员追风
2019/07/24
4860
这10道 Spring 常见面试题,你能搞定吗?
今天先用10道题来热热身,千万别小看这10道题,能把这10道题回答上来的也算是很不错的。请看题:
田维常
2020/09/10
4090
这10道 Spring 常见面试题,你能搞定吗?
BATJ面试必会之 Spring 篇(二)
Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。
乔戈里
2019/03/30
6700
Spring面试27道高频考点,你能答出几道?
Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。 Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring框架本身也是按照设计模式精心打造的,这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。
挨踢小子部落阁
2019/07/30
6370
JavaWeb高级编程(下篇)
JSP标签语法中包含一些简写可以帮助轻松编写JSP。这些简写中第一个就是taglib指令。
范中豪
2020/02/18
1.2K0

相似问题

Spring不能配置Dispatcher Servlet权限

10

Spring中dispatcher servlet xml的名称

15

spring dispatcher-servlet.xml不工作

30

Spring MVC dispatcher servlet.xml错误

25

如何为spring创建servlet-context.xml和servlet-context-dispatcher.xml文件

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文