文章目录
-
- 1、请解释Spring Bean的生命周期?
- 2、解释@Autowired和@Resource注解
- 3、什么是事务的传播行为? 有什么作用?
- 4、什么是控制反转(IoC)?
- 5、什么是依赖注入(DI)?
- 6、IoC和DI的关系
- 7、什么是AOP?
- 8、Spring AOP中什么是代理?
- 9、AOP和代理模式
- 10、AOP的运用?
- 11、Spring框架中都用到了哪些设计模式?
- 12、Spring框架有哪些主要模块?
- 1.什么是Spring?
- 2.为什么要用Spring?
- 3.Spring Bean有几种配置方式?
- 4.Spring Bean的作用域之间有什么区别?
- 5.Spring框架中的单例Bean是线程安全的吗?
- 6.Spring和SpringBoot中的扫描机制
- 7.请解释Spring Bean的自动装配?
- 8.自动装配有哪些局限性?
- 9.Spring中如何使用注解来配置Bean?有哪些相关注解?
- 10.Spring不通过注入的方式怎么获取到对象?
- 11.介绍一下Spring的事务管理?
- 12.Spring提供了几个关于事务处理的类?
- 13.Spring什么情况下进行事务回滚?
- 14.谈谈Spring事务的隔离级别?
- 15.什么是Spring IoC容器?
- 16.IoC的优点是什么?
- 17.DI是怎么实现的?
- 18.如何在Web项目中配置Spring IoC容器?
- 19.说说你对切面的理解?
- 20.Spring AOP中什么是通知?
- 21.Spring AOP中什么是切点?
- 22.Spring AOP中什么是目标对象?
- 23.你是如何理解“横切关注”这个概念的
- 24.怎么不用Spring框架下实现IoC
1、请解释Spring Bean的生命周期?
Spring Bean生命周期共分10个步骤,简述如下:
1.实例化:实例化一个Bean
2.注入:按照Spring上下文对实例化的Bean进行依赖注入
7.初始化:自动调用init-method初始化方法
//此处就是项目中使用的bean
10.销毁:当bean不再需要时,执行销毁方法destroy-method
专业解释,参考文档如下:(后处理bean)
https://blog.csdn.net/fuzhongmin05/article/details/73389779
https://www.jianshu.com/p/3944792a5fff
2、解释@Autowired和@Resource注解
两个注解都可以完成依赖注入功能。
- 1.@Autowired:
@Autowired : 默认是以byType按类型自动注入。
@Autowired + @Qualifier(“名称”):将按照名称自动注入 - 2.@Resource:
@Resource() 如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称注入,
如果注解写在setter方法上默认取属性名进行注入。
当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
@Resource(name="") 将按照名称自动注入
3、什么是事务的传播行为? 有什么作用?
- 作用:事务的传播行为就是一个个的事务策略,根据需求、设备等条件选择对应的策略,从而完成需求或优化程序。
4、什么是控制反转(IoC)?
IoC:Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。Ioc意味着将你设计好的对象交给容器控制,而不是new。
IoC 控制反转,指将对象的创建权,反转到Spring容器
5、什么是依赖注入(DI)?
DI:Dependency Injection 依赖注入,在Spring框架创建Bean对象时,动态的将依赖对象注入到Bean组件
6、IoC和DI的关系
IoC 控制反转,指将对象的创建权,反转到Spring容器 ,
DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入
DI依赖注入不能单独存在,必须在IoC控制反转的基础上才能完成。
7、什么是AOP?
AOP (Aspect Oriented Programing) 称为:面向切面编程,它是一种编程思想。在程序运行的时候,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,对原有业务方法进行增强 !
8、Spring AOP中什么是代理?
AOP通过生成代理对象,对目标类进行增强。
在spring aop中,代理对象,将通知和切入点连接在了一起,从而实现增强的过程。
9、AOP和代理模式
代理模式:分为静态代理、JDK动态代理、cglib代理
1.静态代理
代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的引用,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。
2.jdk动态代理:必须有接口和实现类(目标类),通过工具类Proxy生产接口对应的代理类,从而对目标类进行增强。
3.Cglib代理:Cglib代理生成的代理类是目标类的子类,所以目标类不能使用final修饰。
AOP
Spring AOP通过代理的方式,对目标类进行增强。
Spring aop底层默认使用JDK动态代理,通过配置可以修改成cglib代理。
10、AOP的运用?
1.事务
2.日志处理
3.缓存
4.权限控制
5.错误处理
6.懒加载
链接:http://blog.sina.com.cn/s/blog_7045cb9e01010a9r.html
https://blog.csdn.net/qq513165077/article/details/78288999
11、Spring框架中都用到了哪些设计模式?
1.单例设计