一:Spring基本概念
1.什么是Spring:Spring是一个开源的,控制反转(Ioc)和面向切面(AOP)的容器框架,它的目的是简化企业开发
2.Spring特点:使用Spring来完成bean的构建,使得其他应用层只专注自己的业务逻辑
3.Spring通过依赖注入(DI)或者控制反转(IOC)的方式来管理各个对象:
(1)IOC:控制反转就是应用本身不负责对象的创建及维护,对象的创建和维护由外部容易负责,所以控制权就由应用转移到外部容器,控制权的转移就是所谓的控制反转。
(2)DI:在运行时,由外部容易将对象注入到组件中。
4.Spring是一个轻量级的,低侵入式的框架
5.Spring的七大模块
(1)核心模块core:负责Bean的构建和管理,底层使用的是BeanFactory工厂模式来实现。BeanFactory使用依赖注入的形式提供给组件组件依赖
(2)Spring上下文模块context:国际化,Spring上下文是一个配置文件,主要向框架提供上下文信息。
(3)Spring AOP:面向切面的编程
(4)Spring Dao:它主要和dao层相关,可以用来构件数据库的异常处理,和不同数据库供应商抛出异常信息。
(5)Sping ORM:实体关系映射
(6)Spring Web:Web上下文模块建立在应用程序的上下文模块之上,为基于web的应用程序提供了上下文,Web模块还简化了处理多部分请求及将请求参数绑定到域对象的过程。
(7)Spring Web MVC:
二: 控制反转IOC
1.创建一个基于Maven项目,不用选模板
2.并在pom中,添加core,beans,和context模块,junit单元测试模块
3.编写Spring的配置文件,XXX.xml,一般applicationContext.xml
配置文件pom.xml
<properties>
<spring.version>5.3.19</spring.version>
</properties>
<dependencies>
<dependency>
<!--scope为test的话,发布后不发布-->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<!-- Spring AOP所需 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
</dependencies>
applicatin.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi