Struts2的工作机制总结+Spring的DI跟AOP自我理解
一.介绍一下Struts的工作原理?
1.读取配置。加载struts控制器.
2.用户请求 用户提交表单或调用URL向WEB应用程序服务器提交一个请求,请求的数据用HTTP协议上传给WEB服务器。
3.通过struts控制器进行处理,
4.经过一系列的拦截器处理
5.进行业务逻辑的处理
6.响应用户JSP将结果展现给用户。
为什么要用struts?:
1. JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。
但用这些技术构建的系统非常的繁乱。因此基于Struts开发的应用出现:
1.不用再考虑公共问题
2.专心在业务实现上
3.结构统一,易于学习、维护
4.新手也可写出好程序
二.什么是DI机制?
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色 需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中 创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者
因此也称为依赖注入。 spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。 设置注入的优点:直观,自然 构造注入的优点:可以在构造器中决定依赖关系的顺序。
三.什么是AOP?
面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面 1.面向切面编程提供声明式事务管理 2.spring支持用户自定义的切面 面向切面编程(aop)是对面向对象编程(oop)的补充, 面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。 AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象, 是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。 aop框架具有的两个特征: 1.各个步骤之间的良好隔离性 2.源代码无关性