SSM框架知识点(Spring,SpringMVC,MyBatis)

本文详细介绍了SSM框架中的Spring、SpringMVC和MyBatis的核心概念,包括Spring的IOC、AOP、事务管理,SpringMVC的注解和执行流程,以及MyBatis的开发接口和DML操作。同时,还涵盖了SpringBoot的核心功能和Maven的模块化开发。
摘要由CSDN通过智能技术生成

文章目录

前言

Spring

       Spring是什么?

       ApplicationContext和BeanFactory的区别?

       BeanFactory和FactoryBean的区别?

        Spring中的单例Bean是线程安全的吗?

        如何解决线程安全问?

        简述Spring容器中Bean的生命周期?

        什么是BeanDefinition?

        什么是DI?

        依赖注入方式有哪些?

        什么是AOP?

        AOP底层原理?

        五种通知类型?

        Spring使用过的注解?

        事务的作用?

        如何添加事务?

        事务传播行为的作用?

        事务传播行为有哪些?

SpringMVC

        SpringMVC的注解与那些?

        过滤器和拦截器区别?

        如何统一处理异常?

        SpringMvc的执行流程?

Mybatis

        标准开发接口?

        条件构造器?

        条件查询都有哪些方法?

        兼容性处理?

        DML:

SpringBoot

        SpringBoot提供了那些核心功能?

        SpringBoot的核心注解有哪些> 由那几个注解组成?

        SpringBoot支持哪些配置文件?加载顺序是什么?

Maven

        分模块开发的意义?

        可选依赖和排除依赖的区别?

        聚合:

        继承:

  


前言

SSM框架的面试题总结(Spring, SpringBoot,Mybatis,Maven)


Spring

       Spring是什么?

                一款基于java语法的开发框架,它可以简化java的开发和维护,他有三大组件,IOC(控制反转),DI(依赖注入),AOP(面向切面编程).

                IOC:将对象的创建权交给Spring容器,使用时直接从容器获取就行

                IOC容器:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,

BeanFactory,AnnotationConfigAppllicationContext.

       ApplicationContext和BeanFactory的区别?

               AppplictionContext和BeanFactory都是Spring容器,BeanFactory是底层接口,ApplictionContext是派生接口,BeanFactory是懒加载,使用的时候才会创建Bean,ApplictionContext默认在容器创建时创建所有的Bean,好处时可以直接使用无需等待,缺点就是内存消耗大.

       BeanFactory和FactoryBean的区别?

        BeanFactory是Spring容器,FactoryBean是一个特殊的Bean,他的 作用就是创建Bean,创建的Bean会放在容器里面.

        Spring中的单例Bean是线程安全的吗?

        Spring中的单例Bean线程不安全,但是他是无状态的(不存储数据),所以在某种程度上讲它是线程安全.

        如何解决线程安全问?

        1.把Bean的作用域改成非单例 prototype

        2.把共享变量放在ThreadLocal中,TreadLocal是线程私有变量,线程之间是相互隔离的.

        简述Spring容器中Bean的生命周期?

        1.先通过配置文件或注解拿到所有的BeanDfinition,并放在BeanDefinitionMap中

        2从BeanDefinitionMap中拿到Bean定义并进行实例化

        3.依赖注入,给容器中的bean属性进行赋值

        4.初始化,给属性赋值

        5..初始化后放进spring容器中,concurrentHashMap,使用的时候直接getBean来获取bean

        6.容器销毁时,bean也会跟着销毁

        什么是BeanDefinition?

        BeanDefinition是bean定义,它囊括了这个bean的类型,及这个bean的名字,有哪些属性,有哪些构造函数,那些方法.

        什么是DI?

        依赖注入,给容器中的Bean属性进行赋值

        依赖注入方式有哪些?

        构造器注入<constructor-arg name=" " ref=" " value=" ">

        setter注入<property name=" " ref=" " value=" ">

        什么是AOP?

        面向切面编程,将公共的代码抽取出来,在不改动源码的基础上,对方法进行功能增强

        连接点:所有可以被功能增强的方法都是连接点

        切入点:进行了功能增强的方法

        通知:共性功能

        通知类:通知所在的类就是通知类

        切面:切入点+通知就是切面,它描述了那些方法进行了那些功能增强

        AOP底层原理?

        动态多练,在程序运行期间动态的生成一个代理对象,当调用到原始方法时,真正执行的时代理对象的代理方法.

        动态代理的方法有两种,基于JDK的动态代理(反射),基于CGLib的动态代理(继承)

        五种通知类型?

        前置通知:@Before

        后置通知:@After

        环绕通知:@Around

        异常后通知:@AfterThrowing

        返回后通知:@AfterReturning

        Spring使用过的注解?

        定义Bean: @Component @Controller @Service @Repository

        依赖注入: @Autowired @Qualifier @Resource @Value

        定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值