-
Spring框架概述
-
1.Spring是轻量级的开源的Javaee框架
-
2.Spring可以解决企业应用开发的复杂性
-
3.Spring有两个核心部分:ioc,aop
- IOC:控制反转,把创建对象过程交给Spring进行管理
- AOP:面向切面,不修改源代码的情况下对目标方法进行功能增强
-
4.Spring特点
- 1.方便解耦,简化开发
- 2.AOP编程支持
- 3.方便程序测试
- 4.方便和其他框架进行整合
- 5.降低API开发难度
- 6.方便进行事务操作
IOC(概念和原理)
- 1.什么是IOC:
- 控制反转,把创建对象和对象之间的调用过程,交给Spring进行管理
- 使用IOC目的:为了降低耦合度
- 2.IOC底层原理: xml解析,工厂模式,反射
IOC底层实现原理
IOC(接口)
- IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
- Spring提供的IOC实现两种方式:(两个接口)
- BeanFactory:IOC容器基本实现,是Spring内部使用的接口,不提供开发人员进行使用,加载配置文件时不会创建对象,在获取对象(使用)时才会创建对象
- ApplicationContext:BeanFactory子接口,提供更强大的功能,一般由开发人员进行使用,当bean为单例,加载配置文件时就会把在配置文件中的对象进行创建放在ioc容器中,当bean为多例时,在获取对象(使用)时才会创建对象
- ApplicationContext的实现类
IOC操作bean管理
- 1.什么是Bean管理:
- Spring创建对象
- Spring注入属性
- 2.IOC操作Bean管理操作有两种实现方式:
- 基于xml配置文件方式
- 基于注解方式
IOC操作Bean管理(基于xml)
- 基于xml方式创建对象
- 1.在spring配置文件中,使用bean标签,标签里面添加对应的属性,就可以实现对象的创建
- 2.在bean标签中有很多属性:id属性:唯一标识,class属性:类全路径
- 创建对象时,默认是执行无参构造方法完成对象的创建
基于xml方式注入属性
-
DI:依赖注入,就是注入属性(创建对象的基础上)
- 第一种注入方式:使用set方法进行注入,
- 使用property标签完成注入(name:类属性名称,value:向属性注入的值)
- 第二种注入方式:使用有参构造器进行注入
- 使用constructor-arg标签完成注入(name:类属性名称,value:向属性注入的值)
- p名称空间注入
- 第一种注入方式:使用set方法进行注入,
setter方法注入
有参构造器注入
p名称空间注入
XML注入其他属性值
- 1.字面量:
- 2.注入外部bean
- 3.注入数组类型(可用array标签也可用list标签)
- 4.注入list集合
- 5.map集合注入
- 6.set集合注入
- 7.list集合注入值是对象
FactoryBean(Spring有两种类型bean,一种普通的bean,另外一种工厂bean(FactoryBean))
- 普通bean:注入ioc的类型和配置文件中定义bean的类型一样
- 工厂bean:注入ioc的类型可以和配置文件中定义bean的类型不一样:
bean作用域
- 在spring里面,设置创建bean实例是多实例还是单实例
- 在Spring中,默认下,bean是单实例对象
- 如何设置单实例还是多实例
- 在spring配置文件bean标签里面有属性(scope)用于设置单实例还是多实例。
- scope属性值:singleton(单实例,默认值),prototype(多实例),request(不常用),session(不常用)
- singleton和prototype区别
- 单实例,多实例
- 当是单实例的bean时,spring在加载配置文件时就会创建该对象
- 当时多实例的bean时,spring在加载配置文件时不会创建该对象,在需要用到该对象的时候,再创建该对象实例
bean生命周期
- 生命周期:从对象创建到对象销毁的过程
- bean的生命周期
- 1.通过构造器创建bean实例(默认无参构造器)
- 2.为bean的属性设置值和对其他bean的引用(调用set方法)
- 3.把bean实例传递bean后置处理器(实现BeanPostProcessor)的方法postProcessBeforeInitialization(添加后置处理器效果)
- 4.调用bean的初始化方法(需要进行配置–bean标签中的init-method属性)
- 5.把bean实例传递bean后置处理器(实现BeanPostProcessor)的方法postProcessAfterInitialization(添加后置处理器效果)
- 6.bean可以被使用(对象获取到)
- 7.当容器关闭,调用bean的销毁方法(需要进行配置–bean标签中的destroy-method属性)
实现自动装配
- bean标签属性autowire(其使用的注入技术是setter方法或是构造方法),配置自动装配
- autowire属性常用两个值:
spring引入外部属性文件(jdbc.properties)
- 1.spring配置文件中引入context命名空间
- 2.添加标签<context:property-playceholder location=”文件路径”/>
- 3.使用${key}来取出配置文件中的值
IOC操作Bean管理(基于注解)
- 1.什么是注解
- 1.注解是代码的特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)
- 使用注解,注解作用在类上面,方法上面,属性上面
- 使用注解目的:简化xml配置
- 2.Spring针对Bean管理中创建对象提供注解
- @Component
- @Service
- @Controller
- @Repository
- 上面四个注解功能一样,都可以用来创建bean实例
- 3.基于注解方式实现对象创建
spring集成web
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 12 天,点击查看活动详情



















