《JavaEE互联⽹轻量级框架整合开发——SSM框架(SpringMVC+Spring+M。。
⼀、⼏个常识性错误
1. SSH框架的概念
  其实很多初学者混淆了⼀个概念,SSH实际上指的是Struts 1.x + Spring + Hibernate,这个概念已经有⼗⼏年历史了。在Struts 1.x的时代,Struts 1.x是当之⽆愧的MVC框架
的霸主,但是在新的MVC框架涌现的时代,形势已经完全不是这样了,Struts 2.x借助了 Struts 1.x 的好名声,让国内开发者认为Struts 2.x 是霸主继任者(两者在技术上⽆任何关
系),导致国内程序员⼤多数学习基于 2.x 的框架,⼜⼀个貌似很⽕的概念出来了 S2SH(Struts 2.x + Spring + Hibernate)整合开发。
2. MVC与三层架构的关系
  MVC: Model + View + Controller(数据模型+视图+控制器)
  三层架构: Presentation tier + Application tier + Data tier(展现层+应⽤层+数据访问层)
  那MVC和三层架构有什么关系呢?在我⾯试程序员的时候,经常有⾯试者回答:MVC的M就是数据访问层、V就是展现层、C就是应⽤层。怎么样?听上去是不是好像很有
道理?
实际上,MVC只存在三层架构的展现层,M实际上是数据模型,包含数据的对象。在SpringMVC⾥,有⼀个专门的类叫Model,⽤来和V之间的数据交互、传值;V指的是视图页
⾯,包括JSP、freeMarket等;C就是控制器。
三层架构是整个应⽤的架构,是由Spring框架负责管理的。⼀般项⽬结构中都有Service层、DAO层,这两个反馈在应⽤层和数据访问层。
第⼀章认识SSM框架和Redis
1.1 Spring框架
  1.1.1 Spring IoC
    IoC是⼀个容器,认为⼀切Java资源都是Java Bean.
ssm框架技术简介IoC的⽬标是管理这些Bean(bean的创建、事件、⾏为、依赖关系等)
  1.1.2 Spring AOP
    核⼼就是切⾯
1.2 Mybatis简介
1.2.1 Hibernate简介
    是对象关系映射框架(把POJO对象和数据库表相互映射),简称ORM框架。
1.2.2 Mybatis
    也对象关系映射框架(把POJO对象和数据库表相互映射)
1.2.3 Hibernate和Mybatis的区别 
    (1)Hibernate不需要编写SQL,Mybatis需要。
    (2)Hibernate是全表映射(因为是全表映射,所以⼗分影响性能),Mybatis是部分映射。
    (3)Hibernate适合管理系统,注重业务逻辑,其次才是性能。Mybatis适合互联⽹系统,虽需提供接⼝和SQL,导致⼯作量较Hibernate⼤,但正因此Mybatis更具有灵活
性和可优化性。
1.3 Spring MVC简介
  Model(模型),封装了应⽤程序的数据和由它们组成的POJO。
  View(视图),负责把模型数据渲染到视图上,将数据以⼀定的形式展现给⽤户。
  Controller(控制器),负责处理⽤户请求,并建⽴适当的模型把它传递给视图渲染。
1.4 最流⾏的NoSQL——Redis
  ⽀持六种数据类型:字符串、哈希结构、列表、集合、可排序集合和基数。
  优点:作为持久层,由于存储的数据是半结构化的,这意味着计算机在读⼊内存中有更少的规则,读⼊速度更快,更具性能优势。
    作为缓存,可以⽀持⼤数据存⼊内存中,因为在内存中的数据读写⽐磁盘的读写快⼏⼗上百倍,所以响应速度快。
1.5 SSM+Redis结构框图及概述
第⼆章 Java设计模式
2.1 Java反射技术
  2.1.1 通过反射构建对象
  2.1.2 反射⽅法
  2.1.3 实例
2.2 动态代理模式和责任链模式
  2.2.1 JDK动态代理
    条件:需要借助⼀个借⼝才能⽣成代理对象
    ⽅法:实现 flect.InvocationHandler接⼝,它⾥⾯定义了⼀个invoke⽅法,并提供接⼝数组⽤于下挂代理对象,如代码清单 2-9所⽰
  2.2.2 CGLIB动态代理
    优势:不需要接⼝(只要⼀个⾮抽象类就能实现动态代理)
      <img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA60AAAKOCAYAAABN6v/zAAAgAElEQVR4nOy9d9BuTVaX/ahjJAwMSRT1VTFnDJgj5pwxY8acS/3DUGWVWmUqy1RgzjmLqGDC

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。