1.请说一下反射
反射是在运行状态中,对于任意⼀个类,都能够知道这个类的所有属性和方法;对于任意⼀个对象,都能够 调用它的任意⼀个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制
2.序列化
java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。
以下情况需要使用java 序列化: 想把内存中的对象状态保存到⼀个文件中或者数据库中时候; 想用套接字在网络上传送对象的时候; 想通过RMI(远程方法调用)传输对象的时候。
3.讲一下aop和ioc
aop 是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统⼀维护的⼀种技术。 简单来说就是统⼀处理某⼀“切面”(类)的问题的编程思想,比如统⼀处理日志、异常等
ioc:Inversionof Control(中⽂:控制反转)是 spring 的核心,对于 spring 框架来说,就是由 spring 来 负责控制对象的⽣命周期和对象间的关系。 简单来说,控制指的是当前对象对内部成员的控制权;控制反转指的是,这种控制权不由当前对象管理了, 由其他(类,第三方容器)来管理
4.Spring MVC有哪些接口
(1)DispatcherServlet接口:
Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
(2)HandlerMapping接口:
能够完成客户请求到Controller映射。
(3)Controller接口:
需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。
Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
(4)ViewResolver接口:
Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
5.谈谈你对SSM框架的理解
一、作用:
1、 SSM是sping+springMVC+mybatis集成的框架。是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层。
2、使用spring MVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis作为数据对象的持久化引擎;
3、MVC即model view controller。
(1)model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。
(2)service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。
(3)mapper层=dao层,现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。
(补:数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中。)
(4)controller层。控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。