ssm框架整合
ssm(springmvc+spring+mybatis整合)
1.整合思路
项目分层:
表现层:springmvc(controller)
业务层:service
持久层:mybatis(mapper)
2.整合前准备工作
第一步:创建整合项目
第二步:创建数据库,准备数据
第三步:编写实体类(账户)
第四步:编写持久层(dao)
第五步:编写业务层(service)
3.确保spring框架在整合项目中独立运行
第一步:配置pom.xml,导入jar包
导入spring框架的ioc包
log4j日志包
第二步:改造账户dao实现类,使用注解配置
第三步:改造账户serivce实现类,使用注解配置
第四步:编写spring的配置文件bean.xml
第五步:测试
4.确保springmvc框架在整合项目中可以独立运行
第一步:配置pom.xml,导入jar包
spring-web包
spring-webmvc包
jstl标签库包
servlet的api包
jsp的api包
第二步:编写配置文件
springmvc.xml:
配置包扫描controller
配置处理器映射器
配置处理器适配器
配置视图解析器
web.xml:
把servlet规范版本改成:2.5
配置前端控制器(DispatcherServlet)
第三步:编写账户列表jsp页面
第四步:编写账户controller
第五步:测试
5.整合spring与springmvc框架
问题:在controller中注入service对象。需要知道spring的容器,从spring
容器中获取到service对象。此时我们还没有spring的容器。思考:
1.什么时候创建spring容器?
项目一启动就需要创建spring容器
2.谁来创建spring容器?
监听器
推导:
通过监听器(ServletContextListener)监听ServletContext的创建,只要ServletContext对象一创建,
创建spring容器,并且把spring容器放入ServletContext域中
答案:spring框架提供了一个监听器(ConextLoaderListener),该监听器
实现接口(ServletContextListener)。可以监听到ServletContext对象的创建和销毁
操作步骤:
在web.xml文件中配置ContextLoaderListener监听器
6.确保mybatis框架在整合项目中可以独立运行
第一步:配置pom.xml,导入jar包
mybatis框架包
mysql数据库驱动包
第二步:编写主配置文件(sqlMapConfig.xml)
第三步:编写账户接口的mapper映射文件
第四步:编写属性资源文件:
db.properties
log4j.properties
第五步:测试
7.整合spring框架与mybatis框架
第一步:配置pom.xml,导入jar包
mybatis-spring整合包
spring-jdbc包
spring-tx包
aspectj包
数据库连接池jar包
第二步:考虑把mybatis框架的对象,交给spring管理
第三步:测试
8.实现新增功能,测试事务
第一步:编写新增账户的jsp页面
第二步:在账户controller中,新增新增账户方法
第三步:测试
ssm框架整合说明
1. ssm框架整合
说明:框架整合,我们主要需要关心两个方面的东西。一个是使用到的jar包;另外一个是配置文件。
1.1. jar包
spring框架包(包括springmvc)
mybatis框架包
mybatis-spring整合包
数据库驱动包(mysql驱动)
数据库连接池包(druid连接池)
jstl标签库包
log4j日志包
1.1. 配置文件
通过maven继承与聚合的方式创建ssm项目 (整合前的准备工作)
创建数据库和表 3.2.创建项目模块:
创建父项目ssm-parent 锁定依赖版本
jdk插件的统一配置
创建聚合项目ssm-main
继承父项目ssm-parent
聚合其它子模块项目
配置maven-tomcat插件
创建实体类子项目ssm-domain
继承聚合项目ssm-main
用于放置实体类
创建持久层子项目ssm-dao
继承聚合项目ssm-main
用于放置持久层的dao接口和映射文件
依赖实体类子项目ssm-domain
依赖的jar包:数据库驱动包,数据库连接池包(druid),mybatis框架包
创建业务层子项目ssm-service
继承聚合项目ssm-main
用于放置service接口和service实现类
依赖持久层子项目ssm-dao
依赖jar包:spring-context
创建web层子项目ssm-web
继承聚合项目ssm-main
用于放置controller对象,放置项目的配置文件,放置项目的页面资源
依赖业务层子项目ssm-service
依赖jar包:spring-web,spring-webmvc,spring-jdbc,spring-tx,
aspectj,jstl标签库包,log4j日志包,servlet-api,jsp-api,
mybatis-spring整合包
.整合步骤:
编写代码
编写商品实体类
编写商品dao接口和映射文件
编写商品service接口和service实现类
编写配置文件
sqlMapConfig.xml
配置别名
springmvc.xml
配置包扫描controller
配置处理器映射器
配置处理器适配器
配置视图解析器
applicationContext-dao.xml
配置加载数据库连接属性资源文件
配置数据源对象
配置SqlSessionFactory
配置mapper扫描器(MapperScannerConfigurer)
applicationContext-service.xml
配置包扫描service
applicationContext-trans.xml
配置事务管理器(transactionManager)
配置切面(aop:config)
配置通知(txAdvice)
db.properties
log4j.properties
web.xml
配置加载spring配置文件
配置spring监听器(ConextLoaderListener)
配置字符集编码过滤器(CharacterEncodingfilter)
配置前端控制器(DispatcherServlet)
导入静态资源