Web项目中Spring容器的创建过程简要分析

1.配置

web.xml中配置一个ServletContextListener

即:spring提供的ContextLoaderListener

web.xml

2.源码分析

(1)在ContextLoaderListener的contextInitialized回调方法中调用initWebApplicationContext 初始化Spring的容器

ContextLoaderListener

(2)调用父类ContextLoader的实现

ContextLoader

其中ContextLoader的成员变量context是一个WebApplicationContext

成员变量 context

(3)调用configureAndRefreshWebApplicationContext,读取applicationContext.xml,初始化spring容器;然后将初始化好的容器放入ServletContext域中

initWebApplicationContext

(4)在方法configureAndRefreshWebApplicationContext中实际读取spring配置文件,初始化容器

configureAndRefreshWebApplicationContext

(5)customizeContext方法实际初始化spring的context

configureAndRefreshWebApplicationContext

(6)调用ApplicationContextInitializer的initialize方法,解析配置文件,创建bean

customizeContext

(7)创建bean。

发现BeanDefinitionDsl类竟然是一个kotlin文件!spring5.0源码中大量出现kotlin文件,看来kotlin会逐渐成为主流?

BeanDefinitionDsl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
选择使用Spring Boot还是SSM(Spring + Spring MVC + MyBatis)取决于你的具体需求和项目背景。下面是对两种选择的简要介绍: 1. Spring Boot: Spring Boot是一个快速开发、便捷配置的Java框架,它通过自动配置和约定优于配置的原则,使得构建和部署Spring应用变得更加简单。Spring Boot内置了许多常用的功能和特性,如自动配置、内嵌的Servlet容器、健康检查、安全性等。它适用于快速搭建独立的、微服务风格的应用程序。 2. SSM(Spring + Spring MVC + MyBatis): SSM是一种传统的Java Web开发框架组合。Spring框架提供了依赖注入和面向切面编程的功能,Spring MVC用于构建Web应用程序的MVC模式,MyBatis是一个优秀的持久层框架,用于数据库访问。SSM框架组合具有灵活性和可扩展性,适用于小型Web应用程序的开发。 选择使用Spring Boot还是SSM取决于以下因素: - 项目规模和复杂性:如果项目规模较小且简单,可以考虑使用Spring Boot来快速搭建项目。如果项目较大且复杂,可能需要更多的灵活性和细粒度的控制,SSM框架组合可能更适合。 - 开发经验和团队技能:如果你和你的团队对Spring Boot更熟悉,并且有丰富的Spring Boot开发经验,那么选择Spring Boot可能更容易上手。如果你和你的团队对SSM框架组合更熟悉,并且有丰富的SSM开发经验,那么选择SSM可能更合适。 综上所述,选择使用Spring Boot还是SSM应该根据项目需求、开发经验和团队技能来做出决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值