目录
一、简介
1.概述
Spring框架是一款轻量级、基础架构型的开发框架,核心思想是IOC(控制反转)和AOP(面向切面编程),为Java应用程序开发提供组件管理服务,用于组件之间的解耦,以及简化第三方Java EE中间件技术的使用(JMS、任务调度、缓存、ORM框架);
Spring框架包括:IOC容器、Validation数据校验、AOP面向切面编程、Transactions事务管理、Spring JDBC、Spring MVC框架以及各类第三方JavaEE中间件技术集成。
2.Spring的优势
1.方便解耦,简化开发
2.控制反转IOC,面向切面编程AOP
3.Spring是一个轻量级的框架,可以降低各种框架的使用难度,提供了对各种事务和优秀框架(SpringMVC、Mybatis、Hessian、Quartz 等)的直接支持。
4.Spring是一个开源免费的框架、容器
3.spring的体系结构
Spring由7个模块组成,最常用的包括以下5个模块:
1.Core:核心模块
2.Testing:测试模块
3.Data Access:数据访问模块
4.Web Servlet:基于SerlvetdeWeb应用开发
5.Integration:企业系统集成模块(不同系统之间的交互集成)
二、Spring IOC/DI
1.概念
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。划分模块的一个准则就是高内聚低耦合。
耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合
2.Spring IOC的理解
IOC(控制反转):是Spring框架的核心思想之一,主要用于解耦。IOC是指根据配置文件或注解等方式,将创建对象的控制权转移给Spring框架进行创建bean对象并管理各个bean对象之间的依赖关系,实现解耦。
控制:指的是对象创建(实例化、管理)的权利;
反转:控制权交给外部环境(Spring框架、IOC容器)。
3.Spring IOC容器
IOC容器属于core模块,根据配置文件或注解创建和管理Bean,以及根据依赖关系完成bean之间的注入,默认使用单例的方式将bean存储在一个ConcurrentHashMap类型的Map集合,key是bean对象的ID,value是bean对象本身。
4.Spring DI
DI(依赖注入):是指程序在程序在运行时,每一个Bean对象都依赖IOC容器注入当前bean对象所需要的另一个bean对象。
三、搭建
1.搭建spring环境步骤(Maven项目)
1.坐标
在pom.xml中输入spring-context坐标:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.26</version>
</dependency>
</dependencies>
2.配置文件
在resources资源文件中创建spring config的xml文件
2.使用spring IOC容器管理JavaBan
1.创建JavaBean
2.将类注入spring容器
配置语法:<bean id="唯一标识" class="类的完全限定名称"></bean>
3.测试
3.1加载spring主配置文件获取核心对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans,xml");
3.2spring以解耦的方式进行对象的实例化返回用户
applicationContext.getBean("id");
关键字:
ClassPathXmlApplicationContext==通过文件的相对路径获取核心对象(实现类)
FileSystemXmlApplicationContext==通过文件的绝对路径获取核心对象(实现类)
AnnotationConfigApplicationContext==通过加载配置类获取核心对象(实现类)