简单复习Spring框架一些知识点

Spring框架的知识点总结

1.1. Spring框架是一个开源的J2EE应用框架,是管理bean的生命周期的轻量级容器.
1.2. IOC,即控制反转,将对象的创建权利交给spring框架完成,由容器管理对象的生命周期.解决了框架和框架之间耦合性问题.
  • 1.2.1 容器的数据结构: K-V Map<K,V> key=bean中的ID, value=反射机制实例化的对象.
    • 注解
      • @Configuration 标识当前类是配置类
      • @ComponentScan 包扫描注解 扫描注解
      • @Bean 标识该方法的返回值交给Spring容器管理
      • @Scope 控制多例和单例
        • Spring容器默认条件下,对象都是单例对象
      • @Lazy 懒加载
        • 懒加载的控制,只对单例对象有效
  • 1.2.2 spring对象的生命周期
    • 生命周期说明
      • 对象创建
      • 初始化数据
      • 调用方法,完成功能
      • 对象销毁
    • 注解
      • @PostConstruct 标识初始化方法
      • @PreDestroy 标识销毁方法.
  • 1.2.3 Spring管理对象
    @Component 将当前类未来的对象交给容器管理
1.3 Spring-DI 依赖注入
  • 注入方式:
    • 通过set方法为属性赋值. property
    • 通过构造方法为属性赋值. constructor-arg
    • 工厂模式注入
  • 注解:
    • @value() 简单属性赋值
    • @Autowired 引用赋值
      1. 默认按照类型匹配
      2. 按照名称匹配
    • @Qualifier
1.4 Spring层级代码结构
  • Controller层 @Controller
  • Service层 @Service
  • Dao/Mapper层 @Repository
  • POJO 根据数据表定义的实体对象
1.5 AOP,即面向切面编程,在不修改原有代码的条件下对方法进行扩展.使得业务逻辑各部分之间的耦合度降低.
  • 连接点 切入点 通知 切面 编织
  • 1.5.1 动态代理: 使用代理对象和使用目标对象看起来一模一样
  • 1.5.2 JDK动态代理
    • JDK动态代理是JDK源码提供的,无需导入额外的jar包.
    • JDK代理对象要求实现和被代理者相同的接口,必须有接口
    • JDK代理创建速度快,运行时稍慢
  • 1.5.3 CGLIB动态代理
    • cglib动态代理需要导入额外的包,才能使用.
    • cglib 要求被代理者有无接口都可以, 但是cglib代理对象是目标对象的子类. (继承)
    • cglib创建代理对象时慢,但是运行期速度快.
  • 1.5.4 注解:
    • @Aspect 标识当前类是一个切面
    • @Pointcut 标识切入点表达式
    • @Before 通知注解
    • @EnableAspectJAutoProxy 让AOP有效
  • 1.5.5 切入点表达式 --配置AOP为谁创建代理对象
    • @Pointcut(" bean(“对象的ID”) ")
    • @Pointcut(“within(包名.类名)”)
    • @Pointcut(“execution(返回值类型 包名.类名.方法名(参数列表))”)
  • 1.5.6 通知方法
    • 一般记录程序的运行状态.
      • @Before AOP-前置通知
      • @AfterReturning AOP-后置通知
      • @AfterThrowing AOP-异常通知
      • @After AOP-最终通知
    • 控制目标方法是否运行
      • @Around AOP-环绕通知 ----最为强大
1.6 Spring框架的优势
  • 1.6.1 实现了松耦合
  • 1.6.2 可以整合其他第三方框架,使程序可以以一种统一的方式进行调用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值