ssm面试题整理

spring的核心

spring我经常用到的两个核心就是IOC 和 AOP

  • IOC主要是负责维护管理对象解耦
    底层
    ioc的底层是一个MAP容器 使用工厂模式BeanFactory Properties读取配置文件形成流通过property.getProperty("beanID")获得当前bean的全限定类名,根据Class.forName()进行反射,获取对象bean,再put进入map
    用法
    在配置文件中配置bean标签 使用class属性以及id便于获取bean放入容器
    或者
    在类上加@Configuration注解在相应的方法上@bean(id="")来放入容器
    依赖注入
    当大家都放到容器map当中就能够达到一定程度的解耦 比如从前的MVC三层架构 都是调用者new一个被调用者 而现在我们可以采用依赖注入
    使用set或者constructor或者接口进行依赖注入来调用
    @Autowired 类型 @Resorcces名字
    控制反转
    从前是我们自己去new对象 现在是将权限给了框架

  • AOP:
    oop思想 与业务逻辑没有关系但是和业务逻辑一起被调用的代码很多
    我们希望将其抽出来 通常是事物管理 日志管理 权限管理
    动态代理
    PRoxy类 InnvactionHANDEL接口 横切代码
    proxy.new Instance(加载其 接口 Innovationhandel)
    method.invoke

1.aop中增强的方法都有哪些注解?一个切面下他们执行的顺序?
@around @before @after @afterReturning @afterThrowing
可以看第一篇文章或者第三篇
2. @before可以被打断么?

1.aop中多个aspect 多个aspect的顺序怎么布置?
实现注解的order接口进行getOrder()来返回具体的顺序
注解@Order(1)
配置文件加order=" "
并且order越小越先执行 越后结束
请看第2篇文章的实心圆图片和第一篇文章中两个aspect的增强流程图
2.多个切面的增强方法怎么执行?
同样看第一篇文章的流程图

按顺序读以下的文章
1.Spring AOP @Before @Around @After 等 advice 的执行顺序
2怎么控制多个aop的执行循序
3.Spring AOP之坑:完全搞清楚advice的执行顺序

2.@around @before @after @afterReturning @afterThrowing
正常的执行顺序是
aop-> @around -> @before -> Method --> @around-->@after ->@afterReturning 
出现异常的执行顺序
aop->@around->@before ->Method ->@around-->@after -> @afterThrowing

SpringMVC

1.controller是单例还是多例的? 默认单例
多例的关键字是什么? socpe=“prototype”
SpringMVC Controller单例和多例
2.多例的多个controller调用的顺序是什么?
3.扫描的包 都扫描什么范围?

Mybatis:

sqlsessionfactorybuilder是一个构建器 为了是生成sqlsessionfactory的接口实现类 首先inputstream读取一个流 在生成实现类的时候会生成xmlconfig读取流 生成全局配置文件对象configuration 将对象赋给sqlsessionfactory就生成了接口
sqlseesion tracnsation接口 excuor执行器 执行事物

${ } 和 #{ }的区别以及什么情况下要用 ${ }
说一下堆和栈的对象

${}用在我们能够确定值的地方,表名或列名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值