一、SSM框架整合与配置
-
Maven项目配置
- 模块化管理:通过
<modules>
定义子模块(如ssm_commons
和ssm_web
),实现代码分层复用。 - 依赖管理:统一版本控制,使用
<dependencyManagement>
管理Spring(5.3.30)、MyBatis(3.5.16)、Lombok(1.18.34)等依赖。 - 数据库驱动:引入MySQL(8.0.30)和Druid(1.2.8)数据源,支持连接池管理。
- 模块化管理:通过
-
SSM整合配置
- 数据库配置:
db.properties
定义JDBC连接参数(驱动、URL、用户、密码)。 - Spring核心配置:
springcore.xml
中配置组件扫描、数据源(Druid)、事务管理器,并启用注解驱动。 - MyBatis整合:
mybatiscof.xml
中配置SqlSessionFactoryBean
,指定Mapper扫描路径(com.zxst.dao
)和SQL映射文件位置(mappers/*.xml
)。 - Spring MVC配置:
springmvc.xml
启用组件扫描(控制器层)、注解驱动,并配置视图解析器(前缀/
,后缀.html
)。
- 数据库配置:
-
Web配置
- web.xml:加载Spring上下文(
ContextLoaderListener
)、配置DispatcherServlet(映射/
请求)、字符编码过滤器(UTF-8)。
- web.xml:加载Spring上下文(
二、代码实现与功能模块
-
工程结构
- commons工程:存放逆向工程生成的POJO类(如
Employee
)和Mapper接口。 - web工程:包含控制器(
EmployeeController
)、服务层(EmployeeService
)及DAO层(EmployeeMapper
)。
- commons工程:存放逆向工程生成的POJO类(如
-
功能实现
- 查询功能:控制器通过
@RestController
暴露接口,调用服务层查询员工信息,并通过MyBatis动态SQL关联查询(如员工上级和部门信息)。 - 批量删除:前端通过Ajax提交JSON数据(
idList
),后端使用MyBatis动态条件(Example
)实现批量删除,返回统一结果对象ResultData
。
- 查询功能:控制器通过
-
事务管理
- 声明式事务:在
springcore.xml
中配置事务管理器(DataSourceTransactionManager
),并通过@Transactional
注解在服务层方法(如deleteDept
)中启用事务。
- 声明式事务:在
三、SSM框架核心要点
-
Spring MVC
- 流程:请求→DispatcherServlet→控制器→服务层→DAO→视图渲染。
- 常用注解:
@RequestMapping
、@RequestBody
、@ResponseBody
。
-
Spring核心特性
- IoC与AOP:通过XML或注解(
@Component
、@Service
)管理Bean生命周期。 - 配置类:支持
@Configuration
和@Bean
动态创建对象。
- IoC与AOP:通过XML或注解(
-
MyBatis特性
- 动态SQL:通过
<if>
、<foreach>
等标签实现条件拼接。 - 关联查询:使用
<association>
实现一对一关联映射。
- 动态SQL:通过
四、Spring Boot入门
-
核心优势
- 简化配置:通过
spring-boot-starter-*
启动器自动集成依赖(如spring-boot-starter-web
)。 - 内嵌服务器:默认集成Tomcat,无需外部部署。
- 主启动类:
@SpringBootApplication
标注入口类,SpringApplication.run()
启动应用。
- 简化配置:通过
-
快速开发示例
@RestController public class BootTestController { @RequestMapping("/hello") public String hello() { return "success"; } }
五、扩展知识点
- 逆向工程应用:通过MyBatis Generator生成POJO、Mapper接口及XML文件,减少手动编码。
- 前后端交互:前端使用jQuery Ajax调用RESTful接口,后端返回JSON数据。
- 统一响应封装:
ResultData
类封装操作结果(flag
和msg
),增强接口可读性。