B站面试现场回顾,欢迎观看
我看你做了几个项目,我先问一下项目经验吧。
1. 我看你有用过spring是吧。
有的,有用过ssm和springboot。
2. 说说spring的两个核心特性:
依赖注入DI和面向切面编程AOP
3. 详细一点说说看。
比如说写一个对象b,对象b里面有个值是对象a,把对象a给了对象b,就是依赖注入。Aop有四个关键的点分别是通知,连接点,切入点和切面。通知就是要用到的功能,通过切入点找到连接点进去实现功能。
4. 能不能说一下在项目里面的实际运用?
di的话,在xml里面配置个QueryRunner就有用到di来注入数据源了。有一次写日志的时候,就用到了aop的,像before啊,afterreturning,afterthrowing和after,等注解,噢对了,参数是切入点pointcut
5. 你记得切面类的注解是什么?
Aspect,是这个吧,记得不大清楚了
6. aop与aspectj有什么关系?aop在spring中的流程是什么?
Aspectj有点忘记了流程的话,是先解析xml,再实例化bean,最后解析aop:config,
它会用切入点去匹配,如果匹配上了,该对象作为spring动态代理的目标对象,如果实现了接口就用jdk的动态代理包装,没有的话就用cglib包装然后会创建一个拦截器,再后面就记不得了。
7. JDK和CGLIB的有什么区别?
这个没有仔细去研究过
8. 使用@Autowired注解自动装配的过程是怎样的?
再启动ioc的时候,容器会加载一个autowirterd什么什么的处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性。
9. 自动装配有哪些局限?
呃,没了解过。
10、Git、SVN使用吗?能大概讲一下使用方法吗?
这个不太清楚
转载:https://blog.csdn.net/weixin_44747933/article/details/106726254