2021SC@SDUSC
这是一篇D同学讲授、Z同学的后端学习笔记。
SUDDOC用到springboot,之前只套用过此架构并未思考总结过其逻辑。向D同学学习!
Spring 有两个核心部分: IOC 和 AOP
- IOC 控制反转:框架帮忙创建对象并且管理对象
- AOP 面向切面,不修改源代码进行功能增强
IOC可以理解为spring的一个核心,Spring所倡导的开发方式就是,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。Don’t call us,we’ll call you.
所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。
IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过依赖注入实现的。
IoC模式把耦合从代码中移出去,放到统一的XML 文件中,通过一个容器在需要的时候把这个依赖关系形成,即把需要的接口实现注入到需要它的类中,就是所谓“依赖注入”。
IOC操作 Bean管理-
什么是Bean管理
(0)Bean管理指的是两个操作:
(1)Spring创建对象
(2)Spring注入属性
-
Bean管理操作有两种方式
(1)基于XML
(2)基于注解
- 在spring配置文件中,使用bean标签,标签里面添加对应属性,就可以是新对象的创建
- 在bean标签里有很多属性,基本属性有:
- id:给这个bean取一个唯一标识,可以用getBean直接获取标识对应对象
- class:要创建的类的全路径(包+类名)
- name:和id基本一样,但是name属性中可以加特殊符号,是早期的属性,现在不用。
- 在创建对象时候,默认执行无参构造函数
-
DI:依赖注入,即注入属性
DI是IOC中的一种方式,
-
set方法
-
有参构造器
-
-
null
-
特殊符号
- 转义
- 放入CDATA中
>]]> -
注入属性 - 外部bean
将一个用配置文件配置的对象注入到另一个配置文件配置的对象中。
(1)创建两个类:Service类和dao类
(2)在service中调用dao里面的方法
(3)在spring配置文件中进行配置
-
注入属性 - 内部bean
(1)一对多关系:部门和员工
(2)在实体类之间表示一对多关系
(3)在Spring配置文件中进行配置
-
注入属性-级联赋值
-
注入集合属性
(1)注入数组类型属性
(2)注入List类型属性
(3)注入Map集合类型属性
java NoSQL dyy 冰弦 java dart -
集合类型中设置对象类型的值
... -
集合注入部分提取出来
(1)在spring配置文件中引入名称空间util
xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
(2)使用util
三体1 三体2
Spring有两种bean,一种是上面用的普通bean,另外一种是工厂bean
- 普通bean:xml中定义的类型就是返回类型
- 工厂bean:xml中顶一个bean类型可以和返回类型不一样
工厂bean:
- 创建一个类,让这个类作为工厂bean,并且实现接口FactoryBean
- 实现接口里面的方法,在实现的方法中定义返回的bean类型
1、在Spring里面,设置创建bean实例是一个单实例还是多实例。
2、在Spring里面,在默认情况下,创建的Bean是一个单实例对象。
3、如何设置单实例还是多实例。
原型模式下,当调用getBean时才会创建新的对象。
Bean的生命周期1、生命周期
(1)从对象创建到对象销毁的过程
Bean生命周期- 通过构造器创建Bean实例(无参数构造)
- 为bean的属性设置值和对其他bean引用(调用set方法)
- 调用bean的初始化的方法(需要进行配置)
- bean可以使用
- 当容器关闭时,调用bean的销毁的方法(需要进行配置销毁的方法)
配置后置处理器(和一般配置Bean一致):
自动装配
-
什么是自动装配
-
根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性进行装配
如果使用bytype,就不能允许相同类型的bean同时出现
-
-
直接配置数据库信息
-
配置druid连接池
-
引入druid连接池依赖
-
-
引入外部配置文件
编写配置文件
将外部properties属性文件引入到spring配置文件中
引入context名称空间
在配置文件中使用context引入配置文件



