-
狭义:把Spring、SpringMVC和MyBatis应用到项目中
- Sping:整体和业务层的声明式事务管理
- SpringMVC:控制层
- MyBatis:持久层,数据库访问
-
广义:Spring进行IOC管理
-
SSM的组成
SSM将三层架构和框架核心API组件交给Spring的IOC容器进行管理,共需要使用两个IOC容器:web容器和root容器;web容器是root容器的子容器(为的是子容器可以调用父容器中的组件)- web容器:控制层Controller和SpringMVC的核心组件(controller,HandlerMapping,HandlerAdapter)
- root容器:业务层(service,aop,tx)和持久层(dataSource,mybatis,mapper)相关组件
-
SSM的配置文件:
配置文件名 | 对应组件 | 所属容器 |
---|---|---|
WebJavaConfig | controller,SpringMVC | web容器 |
ServiceJavaConfig | service,aop,tx | root容器 |
MapperJavaConfig | maper,dataSource,mybatis | root容器 |
- IOC的初始配置
public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
//指定root容器对应的配置类
//root容器的配置类
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { ServiceJavaConfig.class,MapperJavaConfig.class };
}
//指定web容器对应的配置类 webioc容器的配置类
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { WebJavaConfig.class };
}
//指定dispatcherServlet处理路径,通常为 /
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}