spring总结

一.BeanFactory和ApplicationContext有什么区别?
ApplicationContext是BeanFactory 的派生,所以前者的功能更全
2.ApplicationContext,初始化的时候,默认加载所有单实例bean,而BeanFactory默认是延迟加载,所以,Application可以在容器启动的时候发现很多问题
二. spring ioc
答: 控制反转,不用自己去管理对象,由spring帮我们管理对象,包括创建,初始化,销毁等等,不用把这些和业务无关的代码耦合到我们的程序中来,

spring 注入的3种方式,
1.构造注入
2.setter 注入
3.注解注入
三 sprig aop
spring aop利用了动态代理的结构,如果接口有实现类则用jdk自带的,否则使用cglib代理.
aop常用在缓存,事务,权限,日志等方面
动态代理:
1.当bean实现接口的时候,用jdk动态代理
2.当bean没有实现接口的时候,用cglib动态代理

四 spring 事务
1.编程式事务 @Transactional (可以精确到代码块级别)
2.声明式事务: 建立在aop之上, 对方法进行事务控制

五 spring 事务的传播属性,隔离级别
PROPAGATION_REQUIRED: 如果当前存在事务,则加入, 否则新建
PROPAGATION_SUPPORTS: 如果当前存在事务,则加入, 否则不走事务
PROPAGATION_MANDATORY: 如果当前存在事务,则加入,否则抛出异常
PROPAGATION_REQUIRED_NEW: 如果当前存在事务,挂起, 不存在 ,新建
PROPAGATION_NOT_SUPPORTS: 如果当前存在事务, 挂起, 不存在,不走事务
PROPAGATION_NEVER: 如果单签存在事务,抛异常,不存在,不走事务
PROPAGATION_NESTED: 如果当前存在事务,新建嵌套事务, 不存在则新建事务

隔离级别:
1.默认: 使用数据库默认的隔离级别
2.read uncommitted: 会出现 脏读,不可重复读,幻读
3.read committed: 会出现 不可重复读,幻读
4. repeated read: 会出现 幻读
5. SERIALIZABLE : 完全隔离,不会出现任何事务问题

六 通知的类型
@Before @After @Arround @AfterReturning @AfterThrowing

七,用了哪些设计模式
单例模式,工厂模式,代理模式

八.如何自动装配
@Autowire 先按类型,再按名称
@Resource 先按名称,再按类型
九.bean 初始化过程

十.Spring框架中的单例Beans是线程安全的么?
使用ThreadLocal处理,每一个线程,都会有一个单独的 Bean副本

十一.,bean的生命周期
1.对象创建
2.参数注入
3.处理aware接口下的setXXX方法
4.处理 PostProcessor 的前置方法
5.处理 InitialingBean 的初始化方法
6.执行自定义的初始化方法
7.处理PostProcessor的后置方法
8. 业务逻辑代码
9.执行DisposableBean接口的销毁方法
10.执行自定义的销毁方法

十二.,bean的作用域
5种:
singleten:单例,
prototype: 多例, 一次getBean() 创建一个
request: 一次request请求,一个实例
session: 一次会话,一个实例
global-session: Portlet 容器有关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值