Spring基础知识掌握(自整理,复习使用)

Spring

Spring

  • IOC
    • 控制反转:把创建对象的权利交给Spring
    • 创建对象
      • 1.无参构造
      • 2.静态工厂
      • 3.实例工厂
    • 管理对象
      • 对象关系DI
        • 构造器注入
        • set注入
      • 生命周期
        • scope:prototype/singleton
        • init-method
        • destroy-method
    • API
      • BeanFactory:使用这个工厂创建对象的方式都是懒加载,在调用的时候再创建
      • ClassPathXmlApplicationContext:使用这个工厂创建对象,他会根据scope智能判断是否懒加载,如果是单例则创建容器时就会创建里面bean的实例,如果是多例在获取使用时才会创建bean实例
      • FileSystemXmlApplicationContext磁盘路径
      • AnnotationConfigApplicationContext注解
      • WebApplicationContext:web环境使用的容器
    • 注解
      • 创建对象
        • Component:不分层的注解
        • Controller:web
        • Service:service
        • Repository:dao
      • 管理对象
        • 注入
          • AutoWired
          • Qualifier
          • Resource
          • Value
        • 声明周期
          • Scope
          • PostConstruct
          • PreDestroy
      • 新注解
        • Bean:写方法上,将方法的返回值
        • Configuration:标记配置类
        • ComponentScan包扫描
        • PropertySource:加载配置文件
        • Import:导入其他配置类
  • AOP
    • 概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写.
    • 专业术语
      • 目标Target:需要增强的类
      • 连接点JoinPoint:目标中可被增强的方法
      • 切入点PointCut:被增强的方法
      • 增强Advice:增强代码
      • 切面Aspect:切点加通知
      • 织入weaving:讲切面加载进内存形成代理对象的过程
      • 代理Proxy
    • 底层实现
      • JDK动态代理(默认)
        • 基于接口:代理对象与目标对象是兄弟关系,目标类必须实现接口
      • CGLIB动态代理
        • 基于父类:代理对象与目标对象是父子关系.目标不能被final修饰
      • 修改默认代理方法:
    • 增强种类
      • 前置通知
      • 后置通知
      • 异常通知
      • 最终通知
      • 环绕通知
      • 注意:使用注解的方式,最终通知和后置通知顺序换了,建议使用环绕通知
    • 注解
    • 配置
    •              
    • 声明式事务管理
      • PlatFormTransactionManager:平台事务管理器:定义了commit/rollback
        • Mybatis/jdbc:DataSourceTransactionManager
        • Hibernater:HibernaterTransactionManager
      • TransactionManagerDifinition
        • 传播行为:A-->B,在B上声明是否一定需要事务管理
          • requerd:必须的(默认),如果A有事务那么就加入A的事务,如果A没有事务那么单独创建一个事务
          • supports,如果A有事务则加入,如果没有就算了
        • 隔离级别
          • default:使用数据库默认的隔离级别(mysql:可重复读,oracle:读已提交)
          • readuncommited:读未提交,不可以解决任何问题
          • readcommited:读已提交,可以解决脏读问题
          • repeatableRead:可重复读,可以解决脏读,不可重复读问题
          • Serializbler:串行化,可以解决所有问题
        • 超时时间:
          • 默认-1(永不超时),事务一直不提交也不回滚的时间
        • 是否只读:
          • 默认false
      • TransactionManagerStatus:
        • 事务的一些状态
        • void flush()    刷新事务boolean hasSavepoint()    获取是否存在保存点boolean isCompleted()    获取事务是否完成boolean isNewTransaction()    获取是否是新事务boolean isRollbackOnly()    获取是否回滚void setRollbackOnly()    设置事务回滚
  • 整合
    • Spring整合Junit
      • 1.导入依赖spring-test
      • 2.加注解:RunWith、ContextConfiguration
      • 3.注入对象进行测试
    • Spring整合web
      • 1.导入依赖spring-web
      • 2.配置ContextLoadListener
      • 3.配置
      •  
      •  
      •     contextConfigLocation
      •     classpath:applicationContext.xml
      •  
      • 4.在Servlet中使用WebApplicationContextUtils获取容器对象
      • 5.使用容器对象去获取Service对象

备注:对应的有脑图下载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值