SSM问题

使用spring的好处
  • 轻量级框架
  • 通过控制反转形成轻量耦合,给出对象的依赖,而不是查找对象
  • 支持面向切面编程
  • 使用容器包含并管理对象的生命周期和配置
  • 替代MVC框架
  • 事务管理接口
  • 异常处理一直转换
AOP
  • 基于切面编程,无入侵的在原本的切面层添加自定义代码,用于日志收集,权限认证等
  • 在目标对象(target objectZ)的某些方法(jointpoint)添加不同种类的操作,形成一个新的代理目标的对象
AOP代理
  • JDK动态代理,只能代理接口,不能代理类
  • 如果想代理类,使用CGLIB
JDK动态代理的实现
  • 创建一个类实现IvocationHandler,必须实现invoke方法
  • 创建被代理的类和接口
  • 通过proxy静态方法创建一个代理
public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException

  • 通过代理创建方法
通知类型
  • 前置通知
  • 后置通知
  • 返回后通知
  • 环绕通知
  • 抛出异常后通知
IOC
  • 控制反转,借助第三方实现具有依赖关系的对象的解耦
  • 将对象的控制权全部上交给容器,控制这些对象间的关系
  • IOC在运行期间,动态的将某种依赖关系注入到对象中
bean的生命周期
  • 构建,设置属性,容器启动的时候创建,注入IOC
  • 后置处理器的前置处理方法
  • 初始化
  • 后置处理器的后置处理方法
  • 销毁
bean的作用域
  • singleton,唯一bean的实例,只能创建一个
  • prototype:每次请求都会创建一个
单例Bean的线程安全
  • 在类中定义一个ThreadLocal成员变量,将可变成员变量保存在ThreadLocal中
spring常见的注入方式
  • 构造器依赖注入
  • setter方法注入
  • 基于注解注入
Spring框架中的设计模式
  • 工厂设计模式:通过BeanFactory,ApplicationContext创建bean对象
  • 代理设计模式:AOP
  • 单例设计模式:Bean默认
  • 模板方法模式:JDBCtemplate
  • 适配器模式
  • 观察者模式
  • 包装器设计模式
MVC模式
  • MODEL模型
  • VIEW视图
  • controller控制器
SpringMVC执行流程
  • 客户端发送请求
  • 前端控制器DispatcherServlet接收用户请求
  • 处理器映射HandlerMapping解析handler返回给DispatcherServlet
  • DispatcherServlet 发送信息给处理器适配器handleradaptor,找到处理器执行,得到对应的modelandview
  • DispatcherServlet 将视图模型发给视图解析器,返回视图
  • DispatcherServlet 调用执行,得到视图返回给对象
    在这里插入图片描述
常用注解
  • @ResquestMapping,处理url映射的注解,即用什么地址可以找到该方法
  • @RequestBody,将前端传过来的请求体拿出,写入contoller传入的对象,加在传入的参数上
  • @ResponseBody:该方法返回一个对象给前端,被转化为json字符串(@Controller)
单例模式
  • controller是单例模式,有线程安全问题
MYBATIS
  • 内部封装了jdbc,可以直接写sql语句
  • "#{}"是占位符

controller是单例模式,有线程安全问题

MYBATIS
  • 内部封装了jdbc,可以直接写sql语句
  • "#{}"是占位符
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值