面经(四)笔试题查漏补缺篇

前言

本章主要讲述我去过的各个公司面试,被问到的问题和笔试题上自己不太熟悉的题

一、请说说你对spring框架的理解

1.解释spring的ioc? 几种注入依赖的方式?spring的优点?

  • ioc(inversion of Control)控制反转:你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时,要是产生的是单例的bean,他还可以给管理bean的生命周期。

  • spring的IOC有三种注入方式 :Setter,构造器,接口注入

1)setter方法注入:在配置文件中使用property节点

面经(四)笔试题查漏补缺篇
2)构造器注入:在配置文件中使用constructor-arg标签

面经(四)笔试题查漏补缺篇
3)接口注入

2.解释Spring中IOC, DI, AOP

1)ioc就是控制反转,依赖注入是对IOC更简单的诠释,通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过spring的bean工厂为你产生这样一个对象。

2)aop就是面向切面编程。主要表现在两个方面:

  • 提供声明式事务管理
  • Spring支持用户自定义切面

面向切面编程(AOP)是对面向对象编程(OOP)的补充。面向对象编程将程序分解成为各个层次的对象,面向切面编程将程序运行过程分解成各个切面。面向切面编程基于动态代理实现,降低了类直接的耦合程度。Spring的事务管理就是基于AOP实现的。

比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类,那你每一类中都要写关于日志的方法。但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法,每一次调用这个方法的时候,就加上生成日志的操作。

3) Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护
不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便 。

二、请简要说明一下JSP和Servlet有哪些相同点和不同点?另外他们之间的联系又是什么呢?

  • 相同点:

它们本质上都是java类

  • 不同点:

1、JSP经编译后变成Servlet
2、jsp更擅长表现于页面显示,Servlet更擅长于逻辑控制
3、Servlet的应用逻辑是在java文件中,并且完全从表现层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

  • 联系:
    JSP是Servlet技术的扩展,本质上是Servlet的简易方式。