Spring5框架[笔记][整理]

spring全家桶: spring,springmvc,spring boot,spring cloud

spring:出现是在2002年左右,目的是为了解决企业开发的难度。
减轻对项目模块之间的管理,
类和类之间的管理,
帮助开发人员创建对象
管理对象之间的关系。

spring核心技术 ioc,aop。 能实现模块之间,类之间的解耦合。

依赖: class a中使用class b的属性或者方法,叫做class a依赖class b(如果没有b,a的功能就不能实现)

(1)轻量
Spring框架运行占用的资源少,运行效率高。不依赖其他jar。Spring核心功能的所需的jar总共在3M左右。

(2)针对接口编程,解耦合
Spring提供了Ioc控制反转,由容器管理对象,对象的依赖关系。原来在程序代码中的对象创建方式,现在由容器完成。对象之间的依赖解耦合。

(3)AOP编程的支持
面向切面的编程。

(4)方便集成各种优秀框架
Spring能和其他框架一起使用,来完成项目的开发。

Spring体系结构

框架怎么学:框架是一个软件,其他人写好的软件。

1)知道框架能做什么,mybatis–访问数据库,对表中的数据执行增删改查。

2)框架的语法,框架要完成一个功能,需要一定的步骤支持的。

3)框架的内部实现,框架内部怎么做的。原理是什么。

4)通过学习,可以实现一个框架。

spring第一个核心功能 Ioc

IoC:(控制反转): 是一个理论,概念,思想。

描述的:把对象的创建,赋值,管理工作都交给代码之外的容器实现,也就是说对象的创建是由其他的外部资源来完成的

控制: 创建对象,对象的属性赋值,对象之间的关系管理。【创建、赋值、关系管理】

反转: 把原来的开发人员管理,创建对象的权限转移给代码之外的容器实现。由容器代替开发人员管理对象,创建对象,给属性赋值。

正转:由开发人员在代码中,使用new构造方法创建对象,开发人员主动管理对象。
public static void main(String args[]){
Student student = new Student();
//在代码中,创建对象。–正转。
}
容器: 是一个服务器软件,一个框架(spring)

为什么让容器管理对象:这样我们可以在,不修改代码的情况下,就让对象完成不同的功能,能够更容易的改变对象。

为什么要使用ioc: 目的就是减少对代码的改动,也能实现不同的功能。【步骤减少,功能增多】->【实现解耦合。】->让对象的实现更加松散

java中创建对象的方式:

1.构造方法,new Student()
2.反射
3.序列化
4.克隆
5.ioc:容器创建对象
6.动态代理

IoC的技术实现,
DI是ioc的技术实现,

DI:(Dependency Injection):依赖注入,只需要在程序中提供要使用的对象名称就可以,至于对象如何在容器中创建,赋值,查找都由容器内部实现。
容器在内部完成对象的所有工作。

spring是使用di实现了ioc的功能,spring底层创建对象,使用的是反射机制
【最根本是反射】

spring是一个容器,管理对象,给属性赋值,底层是反射创建对象。

1、Spring框架概述

2、IOC容器
(1)IOC底层原理
(2)IOC接口(BeanFactory)
(3)IOC操作Bean管理(基于xml)
(4)IOC操作Bean管理(基于注解)

3、AOP

4、JdbcTemplate

5、事务管理

6、Spring5新特性

IOC底层原理
(1)xml解析、工厂模式、反射

工厂模式
在这里插入图片描述
工厂模式在这里插入图片描述


IOC过程
第一步 xml配置文件,配置创建的对象
< /bean id=“xxx” class=“xxx” > < /bean >

第二步 有service类和dao类,创建工厂类

IOC(接口)
1、IOC思想基于IOC容器完成,IOC容器底层就是对象工程

2、Spring提供IOC容器实现两种方式:
(两个接口)
(1)BeanFactory: IOC容器基本实现,是Spring内部使用接口,不提供开发人员进行使用。

特点:加载配置文件的时候不会创建对象,在获取对象(使用)才去创建对象。

(2)ApplicationContext: BeanFactory接口的子接口,提供了更多更强大的功能,一般是由开发人员进行使用。

特点:加载配置文件的时候就会把配置文件对象进行创建。

3、ApplicationContext接口有实现类

[ctrl+h]

File类型:参数要写磁盘路径,全路径。
Class类型:只要参数在src文件下即可。


IOC 操作Bean管理(概念)

1、什么是Bean管理

(0)Bean管理指的是两个操作
(1)Spring创建对象
(2)Spring注入属性

2、Bean管理操作有两种方式

(1)基于xml配置文件方式实现
(2)基于注解方式实现

IOC 操作Bean管理(基于xml方式)
1、基于xml方式创建对象

(1)在spring配置文件中,使用bean标签,标签里面添加对应的属性,就可以实现对象的创建

(2)在bean标签有很多属性,最常用的属性
id属性:唯一标识
class属性:类的全路径(包类路径)

(3)创建对象时候,默认也是执行无参数构造方法。

2、基于xml方式注入属性
(1)DI:依赖注入,就是注入属性

di是ioc中的一种具体实现,表示依赖注入,需要在创建对象的基础之上完成

3、第一种注入方式:使用set方法进行注入。
(1)创建类,定义属性和对应的set方法
在这里插入图片描述

(2)在spring配置文件配置对象创建,配置属性注入
在这里插入图片描述

4、第二种注入方式:使用有参数构造注入。
(1)创建类,定义属性,创建属性对应有参数的构造方法。
在这里插入图片描述
(2)在spring配置文件中进行配置
在这里插入图片描述

(3)p 名称空间注入(了解)
(1)使用 p 名称空间注入,可以简化基于 xml 配置方式
第一步 添加 p 名称空间在配置文件中
在这里插入图片描述

第二步 进行属性注入,在 bean 标签里面进行操作
在这里插入图片描述


IOC 操作 Bean 管理(xml 注入其他类型属性)
在这里插入图片描述


IOC 操作 Bean 管理(xml 注入集合属性)

1、注入数组类型属性
2、注入 List 集合类型属性
3、注入 Map 集合类型属性

1)创建类,定义数组、list、map、set 类型属性,生成对应 set 方法
public class Stu {
//1 数组类型属性
private String[] courses;
//2 list 集合类型属性
private List< String > list;
//3 map 集合类型属性
private Map<String,String> maps;
//4 set 集合类型属性
private Set< String > sets;

(2)在 spring 配置文件进行配置
<! – 1 集合类型属性注入 – >
在这里插入图片描述
<! – list 类型属性注入 – >
在这里插入图片描述
在这里插入图片描述
<! – map 类型属性注入 – >

在这里插入图片描述
<! – set 类型属性注入 – >

在这里插入图片描述


4、在集合里面设置对象类型值
在这里插入图片描述


5、把集合注入部分提取出来
(1)在 spring 配置文件中引入名称空间 util

在这里插入图片描述
(2)使用 util 标签完成 list 集合注入提取
<! – 1 提取 list 集合类型属性注入 – >

在这里插入图片描述
在这里插入图片描述
<! – 2 提取 list 集合类型属性注入使用 – >
在这里插入图片描述






【持续更新,未完结】…

猜你喜欢

转载自blog.csdn.net/SwaeLeeUknow/article/details/107825575