SpringIOC-01

之前创建对象的方式是自己创建

 

当添加新的需求时,比如获取MySQL用户,Oracle用户,我们需要在dao层添加类,并且改变service层创建的dao层对象,不断的修改代码

 

当将service层的dao层对象添加了set方法设置成动态后,不需要去管理对象的创建,被动接受对象的注入,这就是IOC的原型

 

一、理念

Spring源码地址:https://docs.spring.io/spring-framework/docs/4.3.9.RELEASE/spring-framework-reference/html/overview.html#overview-distribution-zip

Maven依赖:

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

二、优点

  • 控制反转(IOC) 面向切面编程(AOP)

  • 支持事务的处理

三、组成

image-20220116165205237

  • Spring-Core:DI依赖注入,BeanFactory管理bean对象

  • Spring-Context:上下文模块,使它成为一个框架,提供了许多企业服务,消息,事件传播以及验证的支持。

  • Spring-Aop:有效的防止代码上功能的耦合

  • Spring-Dao:使用JDBC经常导致大量的重复代码,取得连接、创建语句、处理结果集,然后关闭连接、旧代码中迁移自定义工具类JDBCUtil 也让开发变得繁琐。Spring的Dao模块对传统的JDBC进行了抽象,还提供了一种比编程性更好的声明性事务管理方法。

  • Spring-Web:Web上下文模块建立于应用上下文模块之上,提供了WEB开发的基础集成特性,例如文件上传。另外,这个模块还提供了一些面向服务支持。利用Servlet listeners进行IOC容器初始化和针对Web的applicationcontext。

  • Spring Web MVC:构建Web应用提供了一个功能全面的MVC框架。

  • Spring-ORM:关系映射模块,ORM包为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis(MyBatis)。

四、拓展

基于Spring的Java开发

image-20220116171921427

  • Spring Boot:

    快速开发的脚手架,约定大于配置

  • Spring Cloud

    基于SpringBoot实现的

弊端:配置地狱

 

posted @ 2022-01-16 18:21  若你  阅读(20)  评论(0编辑  收藏  举报