它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成. 不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 可以任意使用各种视图技术,而不仅仅局限于JSP 支持各种请求资源的映射策略 它应是易于扩展的小编总结出来的java ssm基本的面试问题,希望能对你们有所帮助 ### Java SSM 框架基础面试题知识点详解 #### Spring 模块 **Spring 在 SSM 中的作用:** - **Bean工厂管理:** Spring 主要作为Bean工厂,用于管理应用中的Bean及其生命周期,实现与其他框架(如MyBatis)的集成。 - **两大核心特性:** - **IOC/DI (控制反转/依赖注入):** 通过依赖注入减少对象间的耦合度,使代码更易维护。 - **AOP (面向切面编程):** 允许将横切关注点(如日志记录、安全性等)从业务逻辑中分离出来。 **Spring 的事务管理:** - **编程式事务管理:** 提供极大的灵活性,但增加了代码复杂性,不易维护。 - **声明式事务管理:** 通过配置文件或注解进行事务管理,简化了业务代码,提高可维护性。 **IOC 在项目中的作用:** - **解决对象间依赖问题:** 通过配置文件或注解将对象的依赖关系定义清楚,由Spring负责实例化和管理这些对象,降低了各模块间的耦合度。 **Spring 配置文件内容:** - **开启事务注解驱动:** 使用@Transactional等注解进行事务管理。 - **事务管理器配置:** 如`<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">`。 - **开启注解功能并配置扫描包:** 使用`<context:component-scan base-package="com.example"/>`。 - **数据库配置:** 定义数据源`<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">`。 - **SQL会话工厂:** 与MyBatis集成时配置`SqlSessionFactory`。 - **别名与映射文件:** 如 `<mapper class="com.example.mapper.UserMapper"/>`。 **Spring 注解介绍:** - **注册:** - `@Controller`: 标记控制器类。 - `@Service`: 标记服务层类。 - `@Component`: 标记任何类型的组件。 - **注入:** - `@Autowired`: 自动装配Bean。 - `@Resource`: 类似于@Autowired,但更灵活。 - **请求映射:** - `@RequestMapping`: 映射HTTP请求到方法。 - **返回JSON数据:** - `@ResponseBody`: 直接返回JSON格式数据。 **Spring DI 的三种方式:** - **构造器注入:** 通过构造函数参数注入依赖。 - **Setter 方法注入:** 通过setter方法设置依赖。 - **接口注入:** 较少使用,主要用于历史遗留系统中。 **Spring 设计模式应用:** - **工厂模式:** 创建Bean实例。 - **单例模式:** 默认情况下Bean为单例模式。 - **代理模式:** AOP实现通常采用代理模式。 **IOC 和 AOP 实现原理:** - **IOC 原理:** 通过反射机制创建对象,并注入依赖。 - **AOP 原理:** 采用动态代理技术实现横切关注点的分离。 #### Spring MVC 模块 **Spring MVC 控制器特点:** - **单例模式:** 控制器默认为单例,需要注意线程安全问题。 - **解决方法:** 避免在控制器中使用成员变量。 **Spring MVC 控制器注解:** - **@Controller:** 标记控制器类。 - **@RequestMapping:** 映射URL到控制器方法。 **@RequestMapping 注解使用:** - **类级别:** 应用于类上,指定控制器的基本路径。 - **方法级别:** 应用于方法上,指定具体的URL。 **获取对象参数:** - **对象参数传递:** 通过方法参数直接接收对象,Spring MVC自动完成对象属性赋值。 **Spring MVC 返回值类型:** - **常见返回值:** String、ModelAndView、List、Set等。 - **特别情况:** AJAX请求返回List或自定义对象。 **Spring MVC 转发与重定向:** - **转发:** 保留当前请求上下文,内部跳转。 - **重定向:** 发起新的请求,跳转至新资源。 **Spring MVC 与 Ajax 交互:** - **使用Jackson:** 将Java对象序列化为JSON,通过@ResponseBody返回。 - **步骤:** 添加Jackson库、配置映射规则、使用@ResponseBody注解。 **Spring MVC 工作流程:** - **请求处理流程:** 包括前端控制器、拦截器、视图解析器等关键组件。 **Struts2 与 Spring MVC 区别:** - **入口不同:** Struts2使用Filter,Spring MVC使用Servlet。 - **开发方式不同:** Struts2基于类,Spring MVC基于方法。 - **请求处理不同:** Struts2通过值栈处理数据,Spring MVC通过参数解析器处理请求参数。 #### MyBatis 模块 **MyBatis 与 iBatis:** - **背景:** iBatis在2010年后停止更新,随后被MyBatis继承和发展。 - **区别:** MyBatis是iBatis的增强版,提供了更多功能和改进。 **MyBatis 接口绑定:** - **接口绑定机制:** 通过接口和XML映射文件的结合,MyBatis自动实现DAO接口。 - **好处:** 减少了编码工作量,提高了代码可读性和可维护性。 以上内容详细介绍了Java SSM框架的基础知识点,包括Spring的核心特性、配置、设计模式,Spring MVC的控制器管理、请求处理,以及MyBatis的接口绑定机制等。这些知识点对于准备面试的开发者来说非常有用,同时也适用于日常开发工作中理解和运用这些框架。















剩余7页未读,继续阅读


- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 公益慈善电子商务平台项目建设方案.doc
- 网络应用基础在线考核.doc
- 三菱PLC与MCGS组态触摸屏在广场喷泉控制系统的集成应用解析
- 基于51单片机的GPS定位系统的设计.doc
- 网络公司电话销售话术.doc
- 系统集成项目管理工程师9大知识体系汇总.doc
- 综合布线标识设计方案.pptx
- 国家开放大学电大《思想道德修养与法律基础》网络核心课终结性考试三套试题及答案.docx
- 商业银行大数据建设规划.docx
- 数字电路后端设计逻辑综合.ppt
- 虚拟化方案-供参考.doc
- 2023年计算机二级语言笔试试卷.doc
- 秦皇岛二中校园网络视频直播方案成功案例.docx
- 公司项目管理手册实施细则.doc
- 网络营销概要.pptx
- 六自由度系统集成设计(一)PPT课件.ppt


