分享大厂面试手册,包含Java核心、并发、JVM、计算机网络、MySQL、Redis等详细内容,适合面试前突击。
总结Spring常见面试题,帮助面试准备。
Spring优点:简单工厂、工厂方法、单例、适配器、代理、观察者、模板模式。
Spring使用设计模式:简单工厂、工厂方法、单例、适配器、代理、观察者、模板。
Spring AOP:面向切面编程,分离公共逻辑,降低模块耦合。
AOP实现:静态代理和动态代理。
动态代理区别:JDK动态代理和CGLIB动态代理。
何时使用:JDK动态代理用于目标类实现接口,CGLIB动态代理用于目标类未实现接口。
Spring AOP术语:切面、连接点、通知、切入点、引入、目标对象、织入。
Spring通知类型:5种。
IOC:控制反转,Spring管理bean生命周期,解放对象创建。
IOC优点:降低耦合,对象创建由容器管理。
依赖注入方式:构造器注入和属性注入。
IOC容器初始化:BeanDefinition定位、解析和注册。
Bean生命周期:实例化、依赖注入、初始化、销毁。
BeanFactory和FactoryBean区别:BeanFactory管理bean,FactoryBean创建复杂bean。
Mybatis简化配置:SqlSessionFactoryBean配置。
Bean注入容器方式:使用@Configuration、@Import注解、自动扫描、@Import注解导入bean。
Spring自动装配方式:byType、byName、constructor。
Bean作用域:singleton、prototype、request、session、global-session。
自动装配方式:@Autowired、@Resource、@Qualifier、@Value。
@Autowired和@Resource区别:@Autowired按类型或名称装配,@Resource先名称后类型。
@Qualifier注解作用:消除多同类型bean装配时的歧义。
@Bean和@Component区别:@Bean用于方法定义bean,@Component用于类定义bean。
@Component、@Controller、@Repository、@Service区别:@Component通用组件,@Controller控制器类,@Repository数据访问类,@Service业务逻辑类。
事务实现:声明式事务和编程式事务。
@Transactional属性:配置事务属性。
事务传播行为:七种传播行为。
循环依赖解决:构造器循环依赖抛出异常,属性注入循环依赖使用三级缓存处理。
Spring启动过程:初始化BeanDefinition,管理bean生命周期。
单例Bean线程安全:考虑多线程同时访问的线程安全问题,无状态bean适合单例模式,有状态bean使用Prototype模式或ThreadLocal。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。