SpringMVC预习:Spring集成web环境(初步了解MVC架构的执行流程)

1.基本三层架构

DAO层

在这里插入图片描述

service层:

set注入了DAO层的UserDao类,直接调用save方法
在这里插入图片描述
将UserDao和UserService在applicationContext.xml里进行配置,注入到Spring容器中
在这里插入图片描述

web层

web层要使用servlet,首先要在pom.xml里配置上坐标,调用相关的包类
在这里插入图片描述
加载应用上下文对象(applicationContext.xml),创建spring容器,调用service
在这里插入图片描述
servlet还要在web.xml里进行注册,给一个相对路径让用户进行访问servlet
在这里插入图片描述
最后在tomcat里将项目发布,进行热部署,方便开发。
在这里插入图片描述

总结

在这个项目里,web层调用service层,service层调用DAO层,最后DAO层将方法调用输出值。

2.ContextLoaderListener监听器的分析

2.1ApplicationContext应用上下文获取方式

应用上下文对象是通过new ClasspathXmlApplicationContext(Spring配置文件)方式获取的,但是每次从容器中获得Bean时都要编写new ClassPathXmlApplicationContext,这样的弊端是配置文件被加载多次,应用上下文对象被创建多次,浪费资源。

2.2如何使用监视器实现获取应用上下文

在web项目中,可以使用ServletContextListenner监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,再将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了。
创建listen包,创建监视器对象,实现ServletContextListener接口
在这里插入图片描述
在web.xml中配置才能使用
在这里插入图片描述
servlet中获取使用监视器获取方法在这里插入图片描述
运行结果,加载web项目时就创建了应用上下文对象
在这里插入图片描述
网页中访问/servlet结果
在这里插入图片描述

2.3代码优化

在2.2的代码中’applicationContext.xml‘和’app‘都是写死的参数,耦合度较高因此要在配置文件中配置,进行解耦。
在这里插入图片描述
在web.xm中配置全局初始化参数,name为配置名,映射applicationContext.xml
在这里插入图片描述
加载初始化参数并读取,保存app在ServletContext域。
在这里插入图片描述
'app’也是写死创建一个工具类用于返回app,人们不需要知道这个应用上下文对象的名称,直接调用方法传入ServletContext参数。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值