java后端开发面试总结

 1. Spring的核心是控制反转(IoC)和面向切面(AOP)

控制反转:
IOC和DI是Spring的两个核心概念,虽然两个说的是同一回事,但是他们却不完全相同。
IOC(Inversion of Control):控制反转。 
DI(Dependency Injection):依赖注入。
得出的结论:
控制反转是目的,依赖注入是实现控制反转的手段。 
控制反转是一种面向对象的思想,但它只是一种宽泛的概念,只要一个类将对它内部状态的控制权交由其他机制去完成即为『控制反转』。控制反转是为了降低类与类之间的耦合度。 
而Spring采用依赖注入这一具体的手段来达到控制反转的目的。 
依赖注入
一个简单的例子:

class A {
    private B b;
}

我们可以这样解释这段代码:

A类和B类之间存在依赖关系;
A依赖于B;
A为依赖类;
B为被依赖类
通常情况下,依赖类需要自己去创建并维护被依赖类的对象,如:

       class A {
            private B b = new B();
        }

但依赖注入的做法是: 
将被依赖对象的创建工作交给专门的机构去做,而依赖类中秩序声明所需要的成员变量。显然在这个例子里面做法就是类A不再去创建类B也就是不用new B(),而交给专门的机构去创建和维护类B,类A只需要声明B就好了; 
也就是说,依赖类原本需要主动去获取对象,但采用依赖注入后对象由第三方机构提供,自己仅需声明需要什么对象即可。 在Spring中,那个创建、管理对象的第三方机构就称为『IoC Service Provider』。 
这样做的目的就是为了降低两个类之间的耦合程度。

面向切面:

AOP横切时机

在Spring的AOP中,最为常用的横切时机共4种,分别为切点执行前(@Before)、切点执行后(@After及@AfterReturing)、抛出异常时(@AfterThrowing)、环绕通知(@Round)及它们的结合体。

2.servlet的生命周期

1.加载和实例化

2.初始化

3.请求处理

4.服务终止

Web服务器在与客户端交互时Servlet的工作过程是:

1.     在客户端对web服务器发出请求

2.     web服务器接收到请求后将其发送给Servlet

3.     Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器.

4.     web服务器将从Servlet实例对象中收到的响应结构发送回客户端.

3.springMVC的强大之处

1.Spring MVC 实现了即用的 MVC 的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。Spring MVC 为您提供了完全控制应用程序的各个方面的力量。

2.Spring 的 Web MVC 模块是围绕 DispatcherServlet 而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,此外还为上传文件提供支持。

3.DispatcherServlet 通过使用处理程序映射来决定哪一个处理程序应当处理传入的请求。处理程序映射只是用于标识使用哪一个处理程序来处理特定 URL 模式的映射。处理程序是只有一种方法 ModelAndView handleRequest(request,response) 的控制器接口的实现。Spring 还有一些可用的高级处理程序实现;其中一个重要的高级处理程序实现是 SimpleFormController,它提供了将命令对象绑定到表单、对其执行验证等功能。

4.您已经在本系列教程的先前教程中使用了 DispatcherServlet 和简单的处理程序。在下一个部分中,将使用 SimpleFormController 并说明 Spring MVC 提供的各种即用功能。

猜你喜欢

转载自blog.csdn.net/Draven__/article/details/90733079