Spring的控制反转和依赖注入

简介: Spring的官网:https://spring.io/  Struts与Hibernate可以做什么事?   Struts,     Mvc中控制层解决方案     可以进行请求数据自动封装、类型转换、文件上传、效验… Hibernate,   持久层的解决方案;   可以做到,   把对象保存到数据库,   从数据库中取出的是对象。

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

 StrutsHibernate可以做什么事?

  Struts

    Mvc中控制层解决方案

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

Hibernate,

  持久层的解决方案;

  可以做到,

  把对象保存到数据库,

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

传统的开发模式

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

  基于mvc的项目框架结构:

  Entity / dao / service / action

为什么引入Spring:

 思考:

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

    2. 对象创建细节

        对象数量

            action  多个   【维护成员变量】

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

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

        创建时间

            action    访问时候创建

            service   启动时候创建

            dao       启动时候创建

    3. 对象的依赖关系

        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其他模块的支持  


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

目录
相关文章
|
22小时前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
17天前
|
Java 数据库 数据安全/隐私保护
轻松掌握Spring依赖注入:打造你的登录验证系统
本文以轻松活泼的风格,带领读者走进Spring框架中的依赖注入和登录验证的世界。通过详细的步骤和代码示例,我们从DAO层的创建到Service层的实现,再到Spring配置文件的编写,最后通过测试类验证功能,一步步构建了一个简单的登录验证系统。文章不仅提供了实用的技术指导,还以口语化和生动的语言,让学习变得不再枯燥。
31 2
|
5月前
|
XML Java 测试技术
Spring Boot中的依赖注入和控制反转
Spring Boot中的依赖注入和控制反转
|
4月前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
64 0
|
4月前
|
设计模式 自然语言处理 Java
简单了解下Spring中的各种Aware接口实现依赖注入
在Spring框架中,Aware接口是一组用于提供特定资源或环境信息的回调接口。这些接口被设计用来允许Bean获取对Spring容器或其他相关资源的引用,并在需要时进行适当的处理。
45 2
|
4月前
|
自然语言处理 Java 开发者
简单了解下Spring中的各种Aware接口实现依赖注入
【8月更文挑战第21天】在Spring框架中,Aware接口系列是一种特殊的机制,它允许Bean在初始化过程中获取到Spring容器或容器中的特定资源,从而实现了更加灵活和强大的依赖注入方式。本文将围绕Spring中的各种Aware接口,详细探讨它们如何帮助开发者在工作和学习中更好地实现依赖注入。
129 0
|
5月前
|
缓存 Java Spring
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
|
6月前
|
设计模式 Java 测试技术
Spring Boot中的依赖注入详解
Spring Boot中的依赖注入详解
|
6月前
|
XML Java 测试技术
Spring IOC 控制反转总结
Spring IOC 控制反转总结
|
6月前
|
缓存 Java 测试技术
Spring 框架,不只是依赖注入和面向切面那么简单!
【6月更文挑战第25天】Spring框架超越DI和AOP,涵盖事务管理、数据访问抽象如`JdbcTemplate`、消息驱动支持如`@JmsListener`、缓存管理和测试工具。示例代码展示了其简化复杂性的能力,如自动事务处理、数据库操作及消息队列监听。Spring是构建高效企业级应用的全面解决方案。
44 4