五大框架工作原理 总结

      今天有幸复习了一番五大框架,在此将五大框架的执行原理,在此总结以作小记!!!

  • Hibernate执行原理

    

         执行原理:

               1.读取并解析核心配置文件
               2.Configuration负责读取并创建映射信息,创建SessionFactory会话工厂。
               3.SessionFactory会话工厂构建Session对象。
               4.Transaction开启事务。
               5.进行可持久化操作。
               6.Transaction提交事务。
               7.关闭Session及SessionFactory。

         持久化对象的三种状态:

           

                瞬时态:不存在唯一标识OID , 与session未建立关联,未在数据库中存在。
                持久态:存在唯一标识OID , 与session已建立关联,在数据库中存在;
                             当属性发生改变时,清理缓存时会自动和数据库同步。
                脱管(离线)态:不存在唯一标识OID , 与session不存在关联,但在数据库中存在。

  • Spring执行原理

             要说执行原理很重要的两点:AOP面向切面编程  及  IoC控制反转

                   AOP术语:

                               Joinpoint(连接点):所谓连接点是指那些可能被拦截到,可以被增强的点。

                                                           在spring中,这些点指的是方法, 因为spring只支持方法类型的连接点。
                               Pointcut(切入点): 实际被增强的方法。
                              Advice(通知/增强):

                                          所谓通知是指拦截到Joinpoint之后所要做的事情,即为方法添加的某些指定的业务逻辑;

                                          通知分为 前置通知, 后置通知, 异常通知, 最终通知, 环绕通知。
                               Aspect(切面): 将通知/增强添加到切入点的过程,称之为切面。
                               Target(目标对象):要增强的类
                               Weaving(织入):是把增强应用到目标的过程;即把Advice 应用到Target的过程
                               Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类
                               Introduction(引介):

                                          引介是一种特殊的通知在不修改类代码的前提下, Introduction可以在运行期为类动态地

                                          添加一些方法或Field。

                    AOP使用场景:记录系统操作日志

                    AOP实现机制:采用横向抽取机制实现
                                   (1)之前web阶段,写过BaseServlet,采用纵向机制:Servlet继承BaseServlet实现
                                   (2)使用动态代理增强类里面的方法
                                                  a.有接口情况:创建接口实现类代理对象
                                                  b.没有接口情况:创建增强方法所在类的子类代理对象 
  

                    IoC机制: xml配置文件+dom4j+工厂设计模式+反射; 让对象不通过new来创建,把对象创建交

                                     给spring管理,利用Java的反射机制,在运行时动态的去创建、调用对象。

                     DI 依赖注入:基于IoC控制反转,创建对象过程中,向属性设置值。

         

  • Struts2执行原理

  •   

              执行原理:

                     1. 通过浏览器发起请求
                     2. 到达框架入口web.xml文件中的前端过滤器
                     3. 执行默认的拦截器栈defaultStack
                     4.利用dom4j对xml文件的解析及反射技术来得到action的全路径名称
                     5. 通过action全路径名称找到对应的Action类
                     6. 执行默认的excute方法获取其他自定义方法
                     7. 执行service, dao获得数据并将数据返回到action
                     8. 根据action返回的字符串找到struts2.xml中result标签中对应的页面并跳转
                     9. 根据Tomcat中的JSP-API.jar 将JSP页面中的EL表达式,元素标签等转成HTML页面返回,展示到浏览器

  • SSH框架整合原理

          

                    整合过程:                       
                           第一步 导入jar包
                           第二步 搭建struts2环境
                                  (1)创建action,创建struts2.xml配置文件,配置action
                                  (2)配置struts2的过滤器
                           第三步 搭建hibernate环境
                                  (1)创建实体类
                                  (2)配置实体类和数据库表映射关系
                                  (3)创建hibernate核心配置文件,引入映射配置文件
                           第四步 搭建spring环境
                                  (1)创建spring核心配置文件
                                  (2)让spring配置文件在服务器启动时候加载,配置监听器 及 指定spring配置文件位置
                           第五步 struts2和spring整合
                                 (1)把action在spring配置(action多实例的)
                                 (2)在struts2.xml中action标签class属性里面写 bean的id值
                           第六步 spring和hibernate整合
                                 (1)把hibernate核心配置文件中数据库配置,在spring里面配置
                                 (2)把hibernate的sessionFactory在spring配置
                           第七步 在dao里面使用hibernateTemplate
                                 (1)在dao注入hibernateTemplate对象
                                 (2)在hibernateTemplate对象中注入sessionFactory
                           第八步 配置事务

  • Mybatis执行原理

         

              执行原理:

               1、Mybatis配置SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了Mybatis的运行环境等信息。
                     mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。
                    (一句话总结:加载核心配置文件,同时在其中配置mapping映射文件)
               2、通过Mybatis环境等配置信息构造SqlSessionFactory即会话工厂。
                    (一句话总结:构建SqlSessionFactory会话工厂)
               3、由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。
                    (一句话总结:通过SqlSessionFactory会话工厂创建SqlSession对象)
               4、Mybatis底层自定义了Executor接口操作数据库,Executor接口有两个实现,一个是基本实现、一个是缓存实现。
                    (一句话总结:自定义Executor接口并实现,来操作数据库)
               5、Mapped Statement也是Mybatis一个底层对象,它包装了Mybatis配置信息及sql映射信息等。
                     mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。
                    (一句话总结:通过mapper.xml文件生成对应的一个Mapped Statement对象)
               6、Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,
                    Executor通过 Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是

                    jdbc编程中对preparedStatement设置参数。
                   (一句话总结:将Mapped Statement对象中的输入参数信息映射到sql,对应于jdbc中的为

                                            preparedStatement设置参数)
                7、Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,
                     Executor通过 Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于

                     jdbc编程中对结果的解析处理过程。
                 (一句话总结:将Mapped Statement对象中的输出参数信息映射到java对象,

                                          对应于jdbc中的对结果的解析处理)

  • SpringMVC执行原理

      

             执行原理:

                    1、用户发送请求至前端控制器DispatcherServlet
                    2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
                    3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)

                          一并返回给DispatcherServlet。
                   4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
                   5、执行处理器(Controller,也叫后端控制器)。
                   6、Controller执行完成返回ModelAndView
                   7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
                   8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
                   9、ViewReslover解析后返回具体View
                  10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
                  11、DispatcherServlet响应用户

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于单片机的定时器设计 一 、前言 定时器的用途…. 本课程设计的任务即是设计实现一个99分钟定时器,用2位数码管显示定时时间,并可 通过按键动态调整,定时时间一到,蜂鸣器即演奏一段乐曲。 通过本课程设计,可掌握单片机应用系统的一般结构及单片机系统开发的一般步骤,为 毕业后从事相关技术开发工作打下良好基础。 二、系统总体设计 该项目是一个典型的单片机应用系统,其硬件是以单片机为核心,并与数码管、蜂鸣 器、按键等外设相连接,如图1所示。 单片机从4位到32位有上千个系列几十万个不同品种,应从系统需求、价格、可靠性 、功耗、成本等方面进行权衡。我们要实现的定时器功能相对简单,用性价比高、开发 相对容易的51单片机是比较好的选择。时间显示使用的数码管有共阳和共阴极两种,对 51单片机系统来说,采用共阳极类型较多,这里采用2位LED共阳极数码管显示最长99分 的定时时间。蜂鸣器有无源和有源两种,要实现乐曲播放,应使用无源型,每个音符对 应的频率和持续时间可由单片机软件控制实现。3个按键中,一个用于定时启动,另外2 个用于定时时间的动态调整。 软件方面,应采用模块化结构,由主模块调用显示刷新、按键处理、乐曲播放等模块 实现所需的系统功能,如图2所示。软件设计可采用汇编语言和高级语言。汇编语言代码 紧凑,运行效率高,但程序结构不清晰,编程效率低,难于维护和修改。高级语言(如 C语言)表达能力强,结构清晰,修改、维护和移植都很方便,运行效率也比较高,因此 我们的定时器课程设计采用了C51编程语言。 三、硬件设计 图3是99分钟定时器的具体硬件电路。图中,单片机采用SST89E58RD ,它的指令系统与引脚与标准51兼容,但内部资源与性能有较大提升。 (图) (做必要的解释) 四、软件设计 两种表述方式 流程图设计(具体程序清单放在附录中) 文字解说+分段源程序 五、系统调试 一般步骤 六、设计总结 个人工作总结 七、参考文献 [1]张毅刚.单片机原理与应用.高等教育出版社,2006 [2]彭为,黄科,雷道仲.单片机典型系统设计实例精讲.电子工业出版社,2006 [3]刘刚,秦永左.单片机原理及应用.中国林业出版社,2006 [4]王幸之,钟爱琴等.AT89系列单片机原理与接口技术.北京航空航天大学出版社,2004 ----------------------- 单片机 2位数码管 3个按键 蜂鸣器 图1 定时器硬件结构框图 单片机课程设计框架全文共3页,当前为第1页。 定 时 中 断 主模块 图2 定时器软件结构框图 显示 刷新 按键 处 理 乐曲播放 基础模块 单片机课程设计框架全文共3页,当前为第2页。 单片机课程设计框架全文共3页,当前为第3页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值