博客
关于我
整合SSM笔记!
阅读量:634 次
发布时间:2019-03-14

本文共 3899 字,大约阅读时间需要 12 分钟。

Spring + MyBatis + SpringMVC 系统配置及开发实践

本文将详细记录一个基于 Spring + MyBatis + SpringMVC 开发的系统配置及实践经验,涵盖从项目结构搭建到数据库配置、Spring 无接口法整合 MyBatis、SpringMVC 路由配置等多个方面。

一、项目导入与依赖管理

新建项目时首先需要配置项目依赖,确保所有必要的框架类库已添加。主要依赖包括:

  • JSTL(JavaServer Technologies Library):用于动态网页内容的处理。
  • MySQL 连接池(C3PO):作为数据库连接池,是 Spring 常用的选择。
  • MyBatis、MyBatis-Spring:实现前后台数据交互。
  • Spring及其相关组件:包括 SpringMVC、Spring JDBC、Spring AOP 等。
  • Lombok:简化 POJO 的开发。
  • Log4j:实现日志记录功能。
junit
junit
4.12
mysql
mysql-connector-java
8.0.21
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.2
org.mybatis
mybatis-spring
2.0.2
org.springframework
spring-webmvc
5.1.19.RELEASE
org.springframework
spring-jdbc
5.1.19.RELEASE
org.project.lombok
lombok
1.18.16
org.aspectj
aspectjweaver
1.9.4
log4j
log4j
1.2.17

二、Spring 整合 MyBatis 与 DAO 层

在 Spring项目中,整合 MyBatis 通常采用无接口法,即通过 扫描器 将 DAO 接口动态扫描并生成实现类。具体步骤如下:

  • 创建实体类及包结构

    创建 com.panghl.entity 包下的实体类 Books,字段包括 id、bookName、bookCounts、detail。

  • 配置 mybatis-config.xml

    mybatis配置文件中添加 Mapper 接口扫描包,动态生成 MyBatis 映射器。

  • 配置 dataSource.xml

    配置数据库连接池,使用 C3PO 连接池,读取数据库连接信息。注意:请确保 database.properties 中的配置信息与实际数据库一致。

  • ** BooksMapper 接口定义**

    定义接口并添加 MyBatis XML 映射语句,完成增删改查操作。

  • ** BooksServiceImpl 实现类**

    使用注入的 BooksMapper 进行数据库操作。

  • 三、Spring 整合 MVC 层

    SpringMVC 实现 Web 接口,配置如下:

  • 配置 web.xml

    注册DispatcherServlet,设置前端控制器,配置 URL 映射。

  • 配置 spring-mvc.xml

    使用 @Controller、@Service、@Repository 等注解,简化配置。
    推荐使用 InternalResourceViewResolver 配置视图解析器,支持 *.jsp 格式。

  • BooksController 实现

    定义 RESTful API,使用 @RequestMapping 和 @PathVariable 等注解,实现数据加、删、改、query 操作。

  • 四、数据库配置与连接管理

    在项目开发中,数据库配置通常存储于 database.properties 中,具体内容如下:

    jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghaijdbc.username=rootjdbc.password=123456

    通过 Spring 的数据源配置,结合 C3PO 连接池实现数据库连接管理,优化性能表现。

    五、整体项目架构图

    以下为项目核心架构图(以文中图片为示):

    com.panghl├── entity│   └── Books.java├── dao│   ├── BooksMapper.java│   └── BooksMapper.xml├── service│   ├── BookServiceImpl.java│   └── BookServiceImpl.xml├── controller│   └── BooksController.java├── config│   ├── applicationContext.xml│   ├── mybatis-config.xml│   └── database.properties└── resources    ├── static    └── templates

    六、AOP 与事务管理

    Spring AOP 配置事务通知,确保数据库操作具有事务支持。spring-service.xml 中添加事务配置:

    技术总结

  • 依赖管理

    选择合适的依赖版本,避免版本冲突。建议查阅官方文档,确保依赖项正确。

  • Mapper 接口扫描

    确保 Mapper 接口及 XML 配置文件位于正确的扫描包下。

  • 数据库配置

    记录数据库信息时,注意加密敏感数据(如密码),并测试连接成功性。

  • 性能优化

    数据库连接池配置合理,注意 maxPoolSize 和 minPoolSize 的设置。默认值通常有效。

  • 日志配置

    使用 Log4j 实现日志记录,注意文件路径及滚动策略。

  • 本文通过以上步骤详细记录了 Spring + MyBatis + SpringMVC 系统开发实践,适合新手参考和参考资料来源。

    转载地址:http://lqhoz.baihongyu.com/

    你可能感兴趣的文章
    python-字符串
    查看>>
    Python-将二进制遮罩转换为多边形
    查看>>
    python-文件操作
    查看>>
    PYTHON-模块 sys os random shutil-练习
    查看>>
    Python-模块与包的管理
    查看>>
    PYTHON-模块定义 搜索路径
    查看>>
    Python-爬虫工程师-面试总结
    查看>>
    Python-类与文件读取结合
    查看>>
    python-类思想-实现简单增删查改
    查看>>
    python-网络编程
    查看>>
    python写入文件出现空行
    查看>>
    PYTHON-返回给定x的多边形路径的y坐标
    查看>>
    python-进程池与线程池,协程
    查看>>
    Python-通过函数传递变量
    查看>>
    Python内置函数详解——总结篇
    查看>>
    Python.对象集合中的标识.和散列
    查看>>
    Python.硒.拖放错误“AttributeError:move_to 需要 WebElement“
    查看>>
    Python内置函数详解
    查看>>
    Python/Kivy:从一个类调用函数到另一个类并在 Python 中显示小部件
    查看>>
    Python/Kivy:我可以在双击标签时调用函数吗
    查看>>