Spring-概念简述

概述

简化开发-四个基本策略

1、基于POJO的轻量级和最小侵入性编程

如:jdk需要实现一个接口,克隆模式需要实现clone接口

2、通过依赖注入和面向接口松耦合

Dq dq = new Dq();

dq.set(...)

3、基于切面和惯性进行声明式编程

声明式代码增强 如:package-scan="com.xxq.config“,默认扫描;显示配置


4、通过切面和模板减少样板式代码

jdbcTemplate


spring-编程思想

Spring思想应用场景一句话归纳
OOPObject Oriented Programming(面向对象编程),即程序归纳生活一切事物封装,继承,多态
BOP
Bean Oriented Programming   面向bean编程,解放程序员
一切从bean开始
AOP
Aspect Oriented Programming 面向切面编程,即面向规则编程,找出多个类中有一定规律的代码,
开发时拆开,运行时再合并。面向切面编程,即面向规则编程。
 
解耦,专人做专事
IOC
Inversion of Control(控制反转)将new对象的动作交给Spring管理,并由Spring保存已创建的对象(IOC容器)
 
转交控制权

DI/DL

Dependency Injection(依赖注入),或者Dependency Lookup (依赖查找)依赖注入,依赖查找,Spring不仅
保存自己创建的对象,而且保存对象于对象之间的关系。注入即赋值,主要三种方式构造方式,set方法,
直接赋值。
自动赋值

OOP

面向对象编程 java提出


BOP

Service是bean,Dao是bean,Controller是bean,都是bean,任何东西都在bean里,包括容器本身也是bean;


AOP

开发拆开写,运行时合并 

举个栗子#jdbc操作

  • 前部分
    • 加载驱动
    • 获取数据库连接
    • 获取语句集
  • 中部分(钩子方法)
    • 执行语句
    • 获取结果集
    • 分析结果集
  • 尾部分
    • 关闭数据库连接

ADao,BDao, CDao 

如果每一个类都变成一个模板,就会有问题,我们应该要使用,合成复用原则,
能不使用继承,就不使用继承;

jdbcTemplate 不继承,改成注入;
注入之后,就能获取操作方法,但是,它前面获取数据连接,以及尾部分怎么操作,这个是多个dao层所共有的,而共有的逻辑,就是切面,在Spring扫描的时候,发现这个类需要处理,就通过代理模式实现一个切面逻辑,获取数据库连接,以及执行钩子方法,然后再实现切面的关闭数据库连接;


IOC

没有Spring以前,B b = new B(); 并且B类里面还有一个类A,还要先去new类B

有了Spring以后,Application.getBean(B.class);


DI

构造器赋值,set赋值,直接赋值


关系

BOP -> IOC

DI依赖于IOC,AOP依赖于IOC

图1-1

知识点图

栗子

于公元2021年7月9日20时50分记录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值