Spring IOC面试-----话题扩展----展现自我价值

面试,说白了就是展现自己的价值。

当面试官提出一个问题时,我们应该在答出问题的基础上尽量的扩展知识面,以此来展现我们的价值,或者说---竞争力。

当然,不是盲目的扩展知识面,我们应该引导话题到我们擅长的领域,去掌握面试节奏。

面试过程中,语气要稳,语速不要着急,要逻辑清晰,自信。

下面步入正题:

这是问题回答:

所谓IOC,就是控制反转。

分开了说,控制就是创建bean对象的操作过程,或者说是权限。

而反转,是指将这个权限交给IOC容器,让其自行创建bean对象。

接下来就是扩展:

这样做可以让开发人员减少大量的创建bean的操作,大大增加开发效率。

话题引导 

IOC 创建好bean对象后,我们通过依赖注入来获取相应对象。

再扩展:

期间用到一个注解@Autowried。一般情况下注入对象名,是相应Bean类名的首字母小写。

因为Bean注入是通过类名来作用的,所以Bean类一般不会同名。 

出现同名的情况下,我们用@Qualifier("")起别名来解决问题,或者设置首选用@Primary注解。@Resource注解与@Autowried功能相似,都是依赖注入。但却也不同,@Resource注解是根据名称注入。@Autowried是根据类型注入。

话题引导:

 与依赖注入类似的有一个@Value注解。

扩展:

其作用是属性注入,常用的方式是读取配置文件application.yml中的值。另一种用法是直接赋值,一般是不用这个方法。

话题引导:

依赖注入和属性注入前需要添加IOC相关注解:@Conpoment @Controller @Service @Repositroy

扩展:

四个注解其实作用相同,都是将类注册到Spring的上下文,只是表示的语意不同。

Controller表示表示层,Service表示业务层。

留一个钩子,面试官说不定会按照设想问下去:

Repositroy表示持久层,因为MyBatis技术的使用,现在Repositroy基本不用了,用的都是Mapper。

如果没有打断叙述,我们可以接着聊:

在IOC中,业务上常会用到第三方Bean,这就需要用@Configuration注解。

扩展:

它本质上是一个@Component注解,可以将标注类注册到spring的上下文,来表示其是一个配置类。

话题引导:

与configuration注解配合使用的有一个Bean注解。

扩展:

被其注解的方法返回对象会被Spring容器管理。

话题引导:

关于IOC下的bean对象

有时候我们需要实现‌延迟加载。需要用到@Lazy

扩展:

使用Lazy后,Bean在容器启动时并不立即创建,而是在首次使用时才进行实例化。

这种机制有助于提高系统的启动性能。

话题引导:

而有时我们也会限制bean的作用域,这里就会用到Scope注解

扩展:

Scope注解有几个参数

  • singleton‌:单例模式,全局只有一个实例,默认作用域。
  • prototype‌:原型模式,每次请求都会创建一个新的实例。
  • request‌:每次HTTP请求创建一个新的实例,实例仅在当前HTTP请求内有效。
  • session‌:每次HTTP请求创建一个新的实例,实例仅在当前HTTP会话内有效。

 其中比较常用的就是单列和多例模式。

总结:

总的来说,Spring框架的IOC部分就是对Bean对象的创建和使用

为了展现价值,条件允许的话我们可以更加深入的探讨:

单例bean线程安全问题----口述

Spring框架中Bean的生命周期------口述

Spring框架中循环依赖问题-----口述

IOC与AOP都在Spring框架下,后续我们可以将话题牵引到AOP:

Spring AOP面试-----话题扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值