SSM(Spring + Struts + MyBatis)是Java Web开发中常用的轻量级架构,本文档整理了SSM架构在面试中常被问到的关键知识点,帮助求职者更好地理解和准备。以下是主要内容的详细解析:
1. **SpringMVC的工作原理**:
- 用户请求首先由`Spring前端控制的Servlet`(通常是`DispatcherServlet`)接收。
- Servlet解析请求URL,找到对应的`HandlerMapping`,获取处理程序及其拦截器。
- 选择`HandlerAdapter`,执行预处理(如有)。
- 数据处理包括消息转换、数据验证等,填充Controller的参数。
- Controller处理请求,返回`ModelAndView`。
- `ViewResolver`选择并渲染视图,最终将结果返回给客户端。
2. **SpringMVC的理解**:
- SpringMVC是一个基于MVC设计模式的Web框架,它利用Spring的框架特性简化web开发。
- 明确职责分离,前端控制器DispatcherServlet负责请求分发,SpringMVC组件(如Controller、Model、View)各司其职。
- 通过子容器机制,SpringMVC与Spring容器协作,但保持相对独立性。
3. **SpringMVC关键组件**:
- 前端控制器(DispatcherServlet):处理HTTP请求的核心。
- HandlerMapping:根据请求映射到Controller。
- HandlerAdapter:执行Controller的方法,并处理返回值。
- 视图解析器(ViewResolver):根据ModelAndView选择并渲染视图。
4. **其他知识点**:
- Spring的常用注解:如@Controller、@Service、@Repository、@Component等。
- Spring的设计模式应用,如依赖注入、单例模式等。
- Spring bean的生命周期,从实例化到销毁的各个阶段。
- Spring的事务管理,包括编程式和声明式事务。
- Spring IoC(Inversion of Control)容器,提供组件间松耦合。
- AOP(面向切面编程)在Spring中的应用,实现横切关注点。
- MyBatis的使用,包括#和$的区别、操作步骤、mapper接口调用要求及缓存机制。
- 视图解析器的作用,统一处理GET请求的编码问题。
这些知识点涵盖了SpringMVC的架构、核心组件、Spring框架的基础以及MyBatis的具体运用,对准备SSM架构面试的求职者来说非常重要。理解并熟练掌握这些内容可以帮助你在面试中展现扎实的技能和深入的理论知识。