Spring框架笔记,全网最详细!!!(12)

文章目录

第一章、spring框架的概述

在这里插入图片描述
在这里插入图片描述

1.Spring框架是什么

在这里插入图片描述

2.Spring的优点

在这里插入图片描述

3.Spring的体系结构

在这里插入图片描述

第二章、IoC控制反转

1.IoC的概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Spring的第一个程序

在这里插入图片描述

1.实现步骤

在这里插入图片描述

1.创建maven项目
2.在pom.xml中加入spring的依赖

在这里插入图片描述

3.创建接口和他的实现类

在这里插入图片描述
在这里插入图片描述

4.创建Spring需要使用的配置文件

在resources包下面创建
在这里插入图片描述
Beans.xml(实际项目开发中应该叫applicationContext.xml)
在这里插入图片描述

5.测试Spring,通过spring创建对象

不用Spring框架之前我们需要自己手动创建对象
在这里插入图片描述
在这里插入图片描述
通过spring创建对象
Spring创建对象默认调用的是无参构造
在这里插入图片描述
底层是个map集合,get从map中拿数据
Map<String,Object>
String就是id
Object就是对象
在这里插入图片描述

2.获取容器中对象的数量和id值

在这里插入图片描述

3.applicationContext.xml中定义bean的scope属性

在这里插入图片描述

4.Spring能创建一个非自定义的类的对象

如:创建java自带的Date类的对象
先加入bean
在这里插入图片描述
在这里插入图片描述

3.基于XML的DI

在这里插入图片描述
在这里插入图片描述

1.构造分类

1.set注入(设置注入)(掌握)
1.简单类型的set注入(设置注入)

1.创建一个Student类
在这里插入图片描述
2.在applicationContext.xml中声明对象并对属性赋值
在这里插入图片描述
3.创建对象调用无参构造方法,调用对象中的setXXX()方法,对象类中只要有set方法就会调用
在这里插入图片描述
4.Spring也能给非自定义类赋值,比如,日期类
在这里插入图片描述

2.引用类型的set注入(设置注入)

1.创建一个School类
在这里插入图片描述
2.在之前Student类中声明一个School类型
在这里插入图片描述
3.在applicationContext.xml中声明一个School对象,然后把School赋值Student中,这就是赋值一个对象
在这里插入图片描述
4.创建Student对象,即可
在这里插入图片描述
原始我们手动创建对象和赋值,现在是Spring帮我们创建和赋值
在这里插入图片描述

2.构造注入(理解)

1.创建Student类,里面写一个带参构造
在这里插入图片描述
2.在applicationContext.xml中
在这里插入图片描述
Index属性和写名字一样,推荐使用名字赋值
在这里插入图片描述
3.Spring通过带参构造创建对象并赋值
在这里插入图片描述

2.例子:实际项目中使用的好处

如果有很多的对象,传统的方法service层和dao层都是通过new对象来实现,这样两者之间的耦合性很高,如果我们要改一个对象,那么要改动的地方就很多,如果使用Spring,只需要在配置文件中改动即可

1.创建一个Student类
在这里插入图片描述
2.dao层添加接口并实现
在这里插入图片描述
3.service层要调用dao层,为了减少代码的改动,我们用set注入
在这里插入图片描述
4.applicationContext.xml中,声明对象,service对象需要调用哪个dao层的实现类,就使用哪个
在这里插入图片描述
5.使用对象
在这里插入图片描述
在这里插入图片描述

3.引用类型属性自动注入

1.byName方式自动注入

1.创建Student和School对象
在这里插入图片描述
在这里插入图片描述
2.applicationContext.xml中,不用给引用类型赋值了
在这里插入图片描述
3.执行结果
在这里插入图片描述

2.byType方式自动注入

1.创建School、Studet 和School的子类PrimarySchool
在这里插入图片描述
2.applicationContext.xml中
在这里插入图片描述
3.执行代码
在这里插入图片描述

4.多个配置文件的优势

在这里插入图片描述
原本我们都是把bean写在一个xml文件下面,现在使用的是包含关系的配置文件
spring-student.xml中声明Student对象
在这里插入图片描述
Spring-school.xml中声明School对象
在这里插入图片描述
主配置文件中,指定其他文件的位置
在这里插入图片描述

4.基于注解的DI(掌握)

在这里插入图片描述
在这里插入图片描述

1.定义Bean的注解@Component

1.添加Spring依赖
在这里插入图片描述
2.创建Student类,在类上面添加注解
在这里插入图片描述
在这里插入图片描述
3.在applicationContext.xml中声明组件扫描器
在这里插入图片描述

1.Spring中和@Component功能一致,创建对象的注解还有:

在这里插入图片描述

2.指定多个包的方式

在这里插入图片描述

2.简单类型属性注入@Value

在这里插入图片描述

3.引用类型赋值

1.byType自动注入@Autowired

1.创建引用类型的对象
在这里插入图片描述
2.在引用类型属性上加注解
在这里插入图片描述
3.在applicationContext.xml中
在这里插入图片描述
4.结果
在这里插入图片描述

2.byName自动注入@Autowired与@Qualifier

在这里插入图片描述

3.引用类型Autowired的required属性

推荐使用true,因为这样报错我们就能及时解决

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值