【面试官】知道怎么解决Spring循环依赖吗?

  • 面试官:你说下对Spring IOC的理解?
  • 面试官:AOP呢?
  • 面试官:那AOP的原理是什么?
  • 面试官:JDK动态代理和CGCLIB动态代理哪个更快?
  • 面试官:知道怎么解决Spring循环依赖吗?

大家好,我是南哥。

一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。

文章目录

  1. SpringIOC和AOP
    1. SpringIOC
    2. SpringAOP
    3. AOP的原理
  2. Spring循环依赖
    1. 解决Spring循环依赖

1. Spring IOC和AOP

1.1 Spring IOC

面试官:你说下对Spring IOC的理解?

Spring IOC其实是一种通过描述来创建和获取对象的技术,相比于最原始的通过new来创建对象,所有的对象都交由Spring IOC进行管理,我们管这些对象称为Spring Bean。

Spring Bean可以看成是班级里的学生,那IOC容器就是容纳学生的班级。每个Bean的分类、不同的生命周期,包括Prototype、Singleton、Request、Session、Global session都可以在IOC容器里进行管理。这其实是一种控制反转的思想,我们程序员把控制对象的权限都交由了靠谱的Spring IOC容器。

通过XML方式我们可以向Spring IOC描述我需要一个A对象。当Spring启动时这个Bean也就自动注入到IOC容器等待我们的使用。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="bean1" class="org.springframework.beans.factory.ConcurrentBeanFactoryBenchmark$ConcurrentBean"
			scope="prototype">
    <property name="date" value="2004/08/08"/>
  </bean>

</beans>

现在商业公司通过以上XML的方式已经是很少见了,Spring Boot提供了另一种通过注解来描述Bean的方式。Spring Boot底层基于注解的IOC容器是AnnotationConfigApplicationContext,这个留到我后续的文章再来讲解。

// 通过注解的方式来创建Bean
@Configuration
public class TokenConfig {
    /**
     * 设置token的类型
     **/
    @Bean
    public TokenStore tokenStore() {
        return new JwtTokenStore(jwtAccessTokenConverter()); // 设置token类型为JWT
    }
}

1.2 Spring AOP

面试官:AOP呢?

在整个软件编程的历史长河中,最先面世的一种编程范式叫做。但随着软件系统越

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试突击 文章被收录于专栏

👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点! 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助! 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力!

全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
6
17
分享

创作者周榜

更多
牛客网
牛客企业服务