【Spring笔记】Spring介绍&IOC理论推导

Spring目的:解决企业应用开发的复杂性

优点:Spring是一个轻量级控制反转(ioc)和面向切面(AOP)的容器框架

spring是一个开源的免费的框架(容器)

spring是一个轻量级的非入侵式的框架

支持事务的处理,对框架整合的支持

范围:任何java应用

现代化的 java开发,就是基于Spring的开发

SpringBoot:一个快速开发的脚手架。基于SpringBoot可以快速的开发单个微服务。约定大于配置。

SpringCloud: SpringCloud是基于SpringBoot实现的。

大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,是需要完全掌握Spring及SpringMVC

弊端:发展了太久,配置十分繁琐

IOC理论推导:

 

 

 

 

 需求:获取mysql数据库

private UserDao userDao=new UserDaoMysqlmpl();

 需求:获取orcle数据库

private UserDao userDao=new UserDaoMysqlmpl();

 每次获取不同的数据,都要在new一个不同的实现类,代码手动改动。程序适应不了需求的变更。

解决:利用set进行动态实现值的注入(已经发送了革命性的变化)

 

 

 在之前的业务中,用户的需求可能会影响原来的代码,需要根据用户的需求取修改原代码。

如果代码量大,修改一次成本昂贵。之前,程序主动创建对象,控制权在程序员手上。使用了set注入后,程序不再具有主动性,而是变成了被动接受对象。

这就是控制反转的思想。

这种思想,从本质上解决了问题,不用程序员去管理对象的创建。系统的耦合性大大降低,可以更加专注在业务的实现上。

这是IOC的原型。

主动权由业务层移交到了用户

IOC控制反转(Inversion of Control)是一种设计思想,DI(依赖注入)是实现Ioc的一种方法。

在没有IOC的程序中,我们使用面向对象编程,对象的创建于对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方。

控制反转就是获得依赖对象的方式反转了

IOC是Spring框架的核心内容,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现IOC

Spring容器在初始化时先读取配置文件,根据配置文件或元数据与组织对象存入容器中,程序使用时再从IOC容器中取出需要的对象。

采用XML方式配置Bean的时候,Bean的定义信息和实现分离的,而采用注解的方式可以把两者和为一体。Bean定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。

控制反转是一种通过描述(XML或注解)并通过第三方获取特定对象的方式。在Spring中实现控制反转的是IOC容器,其实现方法时依赖注入(Dependency Injection,DI)


Spring官网下载

maven导入spring web mvc依赖:

https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.3.19

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.19</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.19</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/m0_52043808/article/details/124371514
今日推荐