spring框架

齐天大圣打妖怪      2022-06-06     752

关键词:

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度

 IoC能做什么

IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。

其实IoC对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的资源了。

IoC很好的体现了面向对象设计法则之一—— 好莱坞法则:“别找我们,我们找你”;即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。

DI—Dependency Injection,即“依赖注入”:是组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。

 

理解DI的关键是:“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”,那我们来深入分析一下:

 

谁依赖于谁:当然是应用程序依赖于IoC容器;

为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源;

谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象;

 

●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)。

 

IoC和DI由什么关系呢?其实它们是同一个概念的不同角度描述,由于控制反转概念比较含糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),所以2004年大师级人物Martin Fowler又给出了一个新的名字:“依赖注入”,相对IoC 而言,依赖注入”明确描述了“被注入对象依赖IoC容器配置依赖对象”。

 

细说spring框架之核心01-概述

官网:https://spring.io/projects/spring-framework文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/index.html目录Spring框架是什么为什么要使用Spring框架如何使用Spring框架Spring框架是什么Spring框架是整个 查看详情

spring框架

spring是什么?  Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架spring是一站式框架  web层:springMVC  service层:spring的ioc  dao层:spring的jdbcTemplatespring的优点  1.低侵入式设计,代码污染极低   2.独立... 查看详情

spring框架学习之--搭建spring框架

此文介绍搭建一个最最简单的spring框架的步骤一、创建一个maven项目二、在pom.xml文件中添加依赖导入spring框架运行需要的相关jar包   注意:在引入jar包之后会出现org.junit里面的包无法使用,参考https://blog.csdn.net/he99774/article/d... 查看详情

spring框架的总结

  大家好,相信Java高级工程师对spring框架都很了解吧!那么我以个人的观点总结一下spring,希望大家有所帮助。一、内容纲要  1、spring的起源和背景  2、spring简介  3、spring的核心模块  4、springIOC和AOP  5、为什么... 查看详情

spring框架--spring事务管理和spring事务传播行为(代码片段)

Spring框架往期文章Spring框架(一)–spring搭建和IOCSpring框架(二)–SpringBean管理Spring框架(三)–SpringJDBCSpring框架(四)–AOP面向切面编程Spring框架(五)–Spring事务管理和Spring事务传播行为Spring事务管理事务可以看做是由对数据库若干操作... 查看详情

spring框架--spring事务管理和spring事务传播行为(代码片段)

Spring框架往期文章Spring框架(一)–spring搭建和IOCSpring框架(二)–SpringBean管理Spring框架(三)–SpringJDBCSpring框架(四)–AOP面向切面编程Spring框架(五)–Spring事务管理和Spring事务传播行为Spring事务管理事务可以看做是由对数据库若干操作... 查看详情

spring系列:spring框架简介

Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。在这篇由三部分组成的Spring系列的第1... 查看详情

企业框架-spring

1.什么是Spring  Spring是最受欢迎的企业级Java应用程序开发框架,数以百万的来自世界各地的开发人员使用Spring框架来创建性能好、易于测试、可重用的代码。  Spring框架是一个开源的Java平台,他最初是由RodJohnson编写的,并... 查看详情

spring框架

1.什么是spring框架?  Spring是一个开源框架,是一种整合性的框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成... 查看详情

spring框架

SpringSpring春天(无厘头命名)框架:软件的半成品 1.框架不是必需品,可以自己实现 2.使用框架可以大大节省开发时间 3.框架采用了很多默认规则,利用规则自动执行Spring框架: 1.是软件的整体框架,其核心功能两个: -IOC/DI -AOP ... 查看详情

spring基础(十七):spring日志框架和测试支持

文章目录Spring日志框架和测试支持一、日志框架二、测试支持 Spring日志框架和测试支持一、日志框架spring5框架自带了通用的日志封装,也可以整合自己的日志spring移除了LOG4jConfigListener,官方建议使用log4j 查看详情

认识spring框架

 对于spring框架,作为Java开发人员肯定不陌生,大名鼎鼎,名声在外,但是对于spring框架没有进行过系统的学习,从今天开始学习并且记录一下spring框架的比较牛逼的特性。一、spring简化Java开发为了降低Java开发的复杂性,spr... 查看详情

spring框架--aop面向切面编程(代码片段)

Spring框架往期文章Spring框架(一)–spring搭建和IOCSpring框架(二)–SpringBean管理Spring框架(三)–SpringJDBCSpring框架(四)–AOP面向切面编程Spring框架(五)–Spring事务管理和Spring事务传播行为AOP(AspectOrientedProgramming面向切面编程)不使用AOP的开... 查看详情

1什么是spring框架,spring框架有哪些主要模块

Spring框架是一个为Java应用程序开发提供综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身也是按照设计模式精心打造的,这使得我... 查看详情

框架整合——spring与mybatis框架整合

Spring整合MyBatis1.整合Spring【整合目标:在spring的配置文件中配置SqlSessionFactory以及让mybatis用上spring的声明式事务】1).加入Spring的jar包和配置文件<1>、Spring框架需要的jar包:com.springsource.net.sf.cglib-2.2.0.jarcom.springsource.org.aopal 查看详情

spring系列:spring框架简介

摘要:Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring是一个开源框架,是为了解... 查看详情

01---spring框架

Spring框架简介及官方压缩包目录介绍工厂模式Spring环境搭建IoC详解Spring创建Bean的三种方式(包含两种工厂方式)scope属性讲解DI详解Spring中几种注入方式Spring解析properties文件Spring框架简介及官方压缩包目录介绍主要发明者:RodJohnson... 查看详情

spring框架

1、什么是spring?  spring从表面意思理解是春天、弹簧、跳跃、泉眼的意思;在Java编程语言中是一种IOC框架。  spring是开源框架、是一个轻量级的Java开发框架,是在ExpertOne-On-OneJ2EEDesignAndDevelopment书中阐述的部分理念和原型... 查看详情