spring总结

spring的三大特性:IOC(控制反转)和DI(依赖注入)以及AOP(面向切面编程)

IOC(控制反转):
控制反转,即将创建对象的工作由自己交给了spring容器来完成,由spring容器来维护依赖关系,来掌控对象的生命周期。
DI(依赖注入)
依赖注入:将值通过配置的方式为变量初始化。DI带来了松耦合,没有DI,对象需要和其依赖的对象一起初始化,这样造成了紧密耦合。
AOP(面向切面编程)
面向切面编程就是在运行时,动态地将通知(增强的代码)织入到类的指定方法、指定位置上的编程方式

依赖注入的三种方式:
(1)构造方法注入
(2)setter注入
(3)基于注解的注入

spring容器:
对象生存于spring容器中,spring容器负责创建对象,配置并管理它们的整个生命周期,最后销毁它们。
spring容器分为bean工厂和应用上下文:常用应用上下文。

装配:创建应用对象的协同关系

装配的3种方式:
在XML中进行显式配置
在JAVA中进行显式配置
隐式的bean发现机制和自动装配

@Component
在一个类上使用@Component,表示将为这个类会作为组件类,并且告诉spring要为这个类创建一个bean
@Autowired
自动装配,是让spring自动满足bean依赖的一种方法,spring会自动从应用上下文中寻找所需的bean。
@Bean
在一个方法上使用@Bean,表示Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。

@Component和@Bean的区别
@Bean的意思是,创建bean的时候,spring容器要按照方法内的方式去装配。
@Component的意思是,创建bean,而装配的方式是自动的。

bean的作用域
所有spring应用:
singleton:单例模式,在整个Spring容器中,只创建bean的一个实例
prototype:原型模式,每次通过spring应用上下文获取的时候,都会创建一个新的bean实例
springweb应用:
request:为每个请求创建一个bean实例
session:为每个会话创建一个bean实例

spring创建的bean默认为单例模式
优点:性能高,减少垃圾回收
缺点:多线程下可能不安全

SpringMVC
SpringMVC的工作流程:
一个请求首先会来到中央处理器,中央处理器需要知道应该调用哪个具体的处理器,因此先向处理器映射器查询,处理器映射器给中央处理器返回应该调用的处理器对象,之后中央处理器会通过处理器适配器调用具体的处理器,处理器执行完会返回ModelAndView给中央处理器。中央处理器得到ModelAndView之后需要经过视图解析器解析,解析之后的视图交给中央处理器渲染,流程结束。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值