Java面试精华:SSM框架、MySQL升级与日期处理问题解析

需积分: 10 0 下载量 60 浏览量 更新于2024-08-04 收藏 26KB MD 举报
在本次Java面试题文档中,面试者黄玉兴是一位南华大学软件工程专业的学生,应聘Java后端开发职位。他熟练掌握了SSM框架和SpringBoot技术,并且具有项目实践经验,曾担任过项目组长。面试过程中,他分享了在实际项目中遇到的一些技术挑战: 1. **MySQL驱动版本迁移与时区设置**: - 在MySQL 5.5之前,使用的驱动是`com.mysql.jdbc.Driver`,而在后续版本中切换为`com.mysql.cj.jdbc.Driver`。 - 需要确保设置正确的时区,如`serverTimeZone=UTC`。 - 在处理日期类型(如entity类中的Date)与数据库datetime类型不匹配的问题时,提到两种解决方案: - 使用`java.sql.Timestamp`对象,并指定时区转换,例如通过`@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss", timezone="GMT+8")`注解来维护时间格式。 - 或者使用`java.time.LocalDateTime`对象,因为它无需额外处理时区问题。 2. **Shiro权限管理问题**: - 当项目中使用Shiro进行权限验证时,遇到一个困扰:在进行无需认证的浏览操作时,所有的请求都被强制要求登录,导致登录页面不断跳转。 - 经过深入排查,发现在创建map集合时,权限参数的顺序问题导致了这个问题,正确做法应先添加`authc`(必须认证)元素,再添加其他权限标记。 3. **项目结构示例**: - 文档还提到了项目的主页模块,这个模块包含了日期和类别标签,博客内容根据类别进行分类展示。日期和类别功能显示了面试者的前端和后端集成能力。 这些知识点展示了面试者的Java技术栈应用、数据库管理经验以及在实际项目中解决复杂问题的能力,包括前后端协作、数据库驱动版本管理、日期时间处理和权限控制等方面。
one_for_all_
  • 粉丝: 0
  • 资源: 2
上传资源 快速赚钱