SSM框架——详细搭建整合环境SSM框架(Spring+SpringMVC+MyBatis)
服务器开发,分三层
Spring去整合另外两个框架
spring ——> mybatis
spring ——> spring mvc
表现层:Spring MVC框架
业务层:Spring框架
持久层:MyBatis框架
选择:配置文件 + 注解的方式
详细搭建整合环境SSM框架的代码demo可点击链接下载:demo
SSM框架整合步骤
在整合的过程中必须保证每个框架可以独立运行
1、搭建整合的环境,
2、先将Spring的配置搭建完成
3、再使用Spring整合SpringMVC框架
4、最后再使用Spring整合mybatis框架
(1)保证spring框架在web工程中独立运行
把service的类去交给IOC容器管理,并且使用注解的方式进行配置——写xml配置文件,开启注解扫描,在方法和类上加注解
步骤:
① 编写spring配置文件(applicationContext.xml),导入pom.xml 的依赖约束
② 使用注解配置业务层和持久层
③ 测试spring是否独立运行
(2)保证springmvc在web工程中独立运行
配置前端过滤器,提供一些对应的配置文件,编写controller类查看方式是否请求成功
步骤:
① 在 web.xml 中配置核心控制器(DispatcherServlet)
配置spring mvc 的核心控制器——servelt
- 配置初始化参数,用于读取spring mvc的配置文件——
- 配置servlet的对象的创建时间点:应用加载时创建。取值只能是非0正整数,表示启动顺序
配置 springmvc编码过滤器 - 设置过滤器中的属性值
- 启动过滤器
② 编写SpringMVC的配置文件
主要配置开启注解扫描(保证注解获取到映射文件)、配置视图解析器(获取到要跳转的页面)、过滤静态资源(保证静态资源不受拦截)以及开启springmvc的注解支持功能。
-
配置创建spring容器要扫描的包
- 指定扫包的规则,只扫描使用@Controller注解的java类
-
配置视图解析器
③ 编写Controller和jsp页面
编写controller类 ,加注解,并编写要跳转的页面
类上加一级目录
@Controller("accountController")
@RequestMapping("/account")
方法上加二级目录
@RequestMapping("/findAllAccount")
(3)整合Spring和SpringMVC
-
配置监听器实现启动服务创建容器
- 目的:在controller中能成功的调用service对象中的方法
要成功调用service,我们应该有service对象,依靠service的依赖注入,service放入容器中,在方法中定义service的成员属性,则可以注入service对象进行依赖注入
- 在项目启动的时候,就去加载applicationContext.xml的配置文件,在web.xml中配置
ContextLoaderListener监听器(该监听器只能加载WEB-INF目录下的applicationContext.xml的配置文
件)。 - 在controller中注入service对象,调用service对象的方法进行测试
- 目的:在controller中能成功的调用service对象中的方法
(4)保证MyBatis框架在web工程中独立运行
编写AccountDao,并且编写方法,给AccountDao编写配置文件(映射文件),在配置文件中编写对应的sql语句;再编写核心的配置文件(SqlMapConfig),目的是配置数据库的链接用户名密码等(或者直接在接口的方法和属性上加注解的方式进行配置数据库的链接信息——案例中采用注解的方式进行配置),
步骤:
① 编写AccountDao映射配置文件
② 编写SqlMapConfig配置文件
③ 测试运行结果
(5)整合Spring和MyBatis框架
如何算整合成功?
-
service成功调用对象,能查询并且能保存数据进数据库则算整合成功。
-
service已经放入IOC容器中,dao是一个接口但是能通过程序生成代理对象,若能把生成的代理对象存入IOC容器中,则service可以拿到代理对象并进行注入,则可以调用方法——目的:如何把代理对象存入IOC容器中,并且在service进行注入
步骤:
在spring的配置文件中(applicationContext.xml)加入配置:
① 配置连接池
②Spring接管MyBatis的Session工厂
③ 配置自动扫描所有Mapper接口和文件
④ 为了保证增删改的正确操作,配置spring的事务(声明式事务:事务管理器,事务通知,配置AOP增强)
⑤ 测试整合结果
applicationContext.xml配置好了 ,则可以删除之前的SqlMapConfig.xml文件
SqlMapConfig.xml