Spring

作者: Amaze_lee | 来源:发表于2017-12-12 17:42 被阅读0次

    一、对SSM的理解

    ①ssm框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层

    ②使用spring MVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis作为数据对象的持久化引擎

    ③Spring是一个开源框架,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,还能更好的让其他框架整合。

    ④Spring MVC框架是有一个MVC框架,通过实现Model-View-Controller模式来很好地将数据、业务与展现进行分离。

    ⑤MyBatis 是一个基于Java的持久层框架

    二、Spring MVC工作原理

    ①客户端发送请求到DispacherServlet(分发器)

    ②由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller

    ③Controller调用业务逻辑处理后,返回ModelAndView

    ④DispacherSerclet查询视图解析器,找到ModelAndView指定的视图

    ⑤视图负责将结果显示到客户端

    三、IOC  DI

    1、IOC:控制反转,将对象的创建权交给了Spring

    控制反转(Inversion of Control,英文缩写为IoC)是框架的重要特征,并非面向对象编程的专用术语。它与依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)并没有关系。

    打个比方,你晚上想约个妹子去看电影,假设这个妹子是一个类(温柔、善良、小鸟依人),那么你需要实例化她,在JAVA中,通常的做法就是new一个类,让她变成一个实体的对象。然后,你跟她约了时间、地点,说要请客吃饭,然后用尽你浑身解数,妹子终于答应要和你去看电影了。看完电影之后,你还要送妹子回家,确保安全。当然,这一个步骤一般是由JVM的垃圾回收机制来处理,如果你没有主动及时送妹子回家,当妹子数量很多的时候,有可能会导致内存溢出,系统宕机。

    而如果你用了Spring,过程将会是这样的,你告诉Spring框架你晚上7点要和一个温柔、善良、小鸟依人般的妹子去看电影,那么你7点准时来到电影院,此时,你会发现,Spring已经帮你把妹子送来了,完全就是你定义的那个类型。你们愉快地看完电影,然后你可以直接回家,Spring又会帮你把妹子接走。你完全不用关心后续的事情。

    在以往,我们是主动地去控制一个对象的实例化和销毁,现在交由Spring来控制,因此就叫做控制反转,Inversion of Control,是不是很好理解,一点就通?

    2、DI

    依赖注入(Dependency Injection)是Spring框架的核心之一。依赖注入需要有IOC环境,Spring创建这个类的过程中,Spring将类的依赖的属性设置进去。

    四、Spring bean的作用域

    五、AOP

    AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容。

    利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

    AOP的作用:①权限校验 ②日志记录 ③性能监控 ④事务控制.

    1、底层实现的代理机制:

    * Spring 的 AOP 的底层用到两种代理机制:

    * JDK 的动态代理 :针对实现了接口的类产生代理.

    * Cglib 的动态代理 :针对没有实现接口的类产生代理. 应用的是底层的字节码增强的技术 生成当前类的子类对象.

    2、Spring底层AOP的实现原理(了解)

    3、AOP名词

    相关文章

      网友评论

          本文标题:Spring

          本文链接:https://www.haomeiwen.com/subject/tbmnixtx.html