SpringIOC-01
之前创建对象的方式是自己创建
当添加新的需求时,比如获取MySQL用户,Oracle用户,我们需要在dao层添加类,并且改变service层创建的dao层对象,不断的修改代码
当将service层的dao层对象添加了set方法设置成动态后,不需要去管理对象的创建,被动接受对象的注入,这就是IOC的原型
一、理念
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)
-
支持事务的处理
三、组成
-
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开发
-
Spring Boot:
快速开发的脚手架,约定大于配置
-
Spring Cloud
基于SpringBoot实现的
弊端:配置地狱