总结

一、HTTP请求----->后台返回数据的流程

浏览器发送HTTP请求----->tomcat----->tomcat根据配置文件找到对应的web.xml----->tomcat将请求交给web项目----->监听器-----> 过滤器----->servlet----->controller层找到对应地址的方法(地址同@RequestMapping中地址一致)----->service层业务处理------>dao层数据处理(对数据库进行增删改查)实体类与数据库映射----->将数据返回前台页面

二、AOP概念与实现

1、概念

AOP,面向切面编程。将影响了多个类的公共行为封装到一个可以重用的模块。目的是将横切关注点与业务逻辑处理分离。

一个应用程序分为核心关注点和横切关注点。核心关注点和具体应用的功能相关,而横切关注点存在与整个系统的范围内。在AOP里,每个关注点的实现并不知道是否有其他关注点关注它,组合的流向是从横切关注点到主关注点。

(1)XML配置:定义切面----->定义切点----->声明通知(前置通知、后置通知、返回通知、异常通知、环绕通知)

(2)注解:@AspectJ声明切面,使用切点表达式execution

2、AOP的代理机制

(1)Java动态代理

Spring默认使用的是Java动态代理,代理的是接口。

(2)CGLIB代理

Spring中提供了对CGLIB代理的支持,主要改变就是设定ProxyFactoryBean的proxyTargetClass属性,将该属性值设定为true即可。使用CGLIB代理的好处就是不用在像使用Java动态代理那样去实现特定的接口,一个普通的Java类就可以了。如果一个业务对象并没有实现一个接口,默认使用CGLIB代理。可强制使用CGLIB代理,这种情况下,可能需要通知一个没

三、IOC概念与实现

1、概念

IOC,控制反转。IOC容器控制对象的创建,由容器进行对象注入,对象是被动接收依赖的对象。由Spring容器创建,当需要使用时,自动注入。

IOC解决了一般业务对象之间、业务对象与持久层之间存在的各种依赖关系,降低耦合度。控制反转是指在应用程序中对象的创建、销毁等不再由程序本身的编码实现,而是由外部的Spring容器在程序运行时根据需要注入到程序中,也就是对象的生命周期不是由程序本身来决定,而是由容器来控制,称为控制反转。

2、实现

(1)通过XML配置bean,根据配置文件初始化容器、创建bean并放入容器中完成容器的初始化。

(2)注解:@Component将POJO实例化到Spring容器中。

3、IOC的注入方法

1)构造方法注入:在被注入对象可以通过在其构造方法中声明依赖对象的参数列表,让外部IoC容器知道它需要依赖哪些对象。

2)setter 方法注入: 当前对象只要为其依赖对象所对应的属性添加setter方法,就可以通过setter方法将相应的依赖对象设置到被注入对象中。

3)接口注入:被注入对象如果想要IoC为其注入对象,就必须实现某个接口,这个接口提供一个方法,用来为其注入依赖对象。

四、数据库事务的实现方式

2、实现方式

(1)编码方式:一是基于XML配置文件的方式;另一个是在业务方法上进行@Transactional注解,将事务规则应用到业务逻辑中。

使用注解@Transactional,Spring会去解析并生成bean,查看拥有相关注解的类,并为这些类生成代理,根据@Transactional的参数进行相关配置的注入,在代理中处理相关事务。

(2)声明式事务管理方式:基于AOP技术实现的声明式事务管理,实质是在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值