String_简答题

本文深入解析Spring框架的核心概念,包括Bean的生命周期、@Autowired和@Resource注解的区别、事务传播行为、IoC与DI的关系以及AOP原理。内容涵盖Spring Bean的实例化、初始化和销毁,以及依赖注入的实现方式。此外,还探讨了Spring中的设计模式、事务管理和AOP代理。通过本文,读者将全面理解Spring框架的核心功能和应用场景。
摘要由CSDN通过智能技术生成

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.单例设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值