Spring的控制反转和依赖注入

本文内容纲要:Spring的控制反转和依赖注入

Spring的官网:https://spring.io/

Struts与Hibernate可以做什么事?

  Struts,

    Mvc中控制层解决方案

    可以进行请求数据自动封装、类型转换、文件上传、效验…

Hibernate,

  持久层的解决方案;

  可以做到,

  把对象保存到数据库,

  从数据库中取出的是对象。

传统的开发模式

  基于mvc模式进行项目开发;

  基于mvc的项目框架结构:

  Entity / dao / service / action

为什么引入Spring:

思考:

  1. 对象创建创建能否写死?

  2. 对象创建细节

对象数量

action 多个 【维护成员变量】

service 一个 【不需要维护公共变量】

dao 一个 【不需要维护公共变量】

创建时间

action 访问时候创建

service 启动时候创建

dao 启动时候创建

  1. 对象的依赖关系

action 依赖 service

service依赖 dao

=======================================================

总结:

spring就是解决上面的问题的!

简单来说,就是处理对象的创建的、以及对象的依赖关系!

1:框架设计:

  1.1:侵入式设计:引入了框架,对现有的类的结构有影响,即需要实现或者继承某些特定类

     例如:Struts2框架

  1.2:非侵入式设计:引入了框架,对现有的类结构没有影响

     例如:Hibernate框架,Spring框架


2:Spring框架

  Spring概述:可以解决对象创建以及对象之间依赖关系的一种框架。且可以很好的和其他框架一起使用,

     如Spring和Hibernate,Spring和Struts2,其实通俗点讲Spring就是起到一种整合的作用,

     如是一座桥梁,连接了Hibernate和Struts2;

  2.1:控制反转(Inversion of Confrol):

     对象的创建交给外部容器完成,这个就叫做控制反转

  2.2:依赖注入(dependency injection):

     处理对象的依赖关系

  2.3:控制反转和依赖注入的区别:

     控制反转:解决对象创建的问题[对象创建交给别人即ioc容器]; 

     依赖注入:在创建完对象后,对象的关系的处理就是依赖注入[通过set方法依赖注入];

  2.4:AOP面向切面编程

    面向切面编程:切面,简单的说来可以理解为一个类,由很多重复代码形成的类。

    例如:事务,日志,权限。


3:Spring提供了一站式解决方案:

  3.1:SpringCore:

     Spring的核心功能,IoC容器,解决对象创建以及依赖关系

  3.2:SpringWeb:

     Spring对web模块的支持:

        (1)可以与struts2整合,让struts2的action的创建交给Spring

          (2)Spring mvc模式 

  3.3:SpringDao:

     Spring对jdbc操作的支持[JdbcTemplate模板工具类]

  3.4:SpringORM:

     Spring对orm的支持:

      (1):既可以与Hibernate整合

      (2):也可以使用Spring对Hibernate操作的封装

  3.5:SpringAOP:

     面向切面编程

  3.6:SpringEE:

    Spring对JavaEE其他模块的支持  


框架啊,东西多而杂,耐着性子慢慢消化~~~

本文内容总结:Spring的控制反转和依赖注入

原文链接:https://www.cnblogs.com/biehongli/p/6538250.html

以上是 Spring的控制反转和依赖注入 的全部内容, 来源链接: utcz.com/z/362602.html

回到顶部