Spring基础

一、什么是Spring

  1、业务实现角度:一站式框架

    spring在目前的JavaEE模式中每个层,都提供了实现方式

    1、web层:该层作用为分发处理,属于服务员角色,对应的spring实现为:springMVC,还有同类技术:struts

    2、service层:该层作用是业务逻辑处理,对应到spring实现为:spring的ioc技术

    3、DAO层:该层作用为数据持久层,对应到spring的jdbcTemplate、ibatis、hiberante等技术

  2、技术实现角度:ioc、aop

    1、ioc:翻译为注入,作用就是依赖反转,用来管理bean

      什么是bean:就是对象

    2、aop:代理技术,是一种设计模式,类似于Filter,不修改业务代码就可增加其他功能

      

      代理模式:

      看着访问的是接口的对象a,其实是访问的代理a

静态代理:

首先定义一个接口,随便写一个方法

定义2个实现接口的方法

(被代理的对象)

(代理对象)

需要将接口 定义get set 方法

代理增强的方法

然后实现

输出结果如下:

动态代理(jdk动态代理)

定义一个方法接口

实现类

测试类

这里要提一下 jdk动态代理只能代理有接口的类 cglib动态代理可以代理没有接口的类

下面是 cglib动态代理实现:

定义一个类(输出OK)

直接在测试类 实现动态代理

这里的Enhancer它是spring提供的一个增强器只需要导入一个jar包就可以了

 输出结果:

      

原文地址:https://www.cnblogs.com/cristin/p/7666840.html