其实所谓的SSM就是Spring+SpringMVC+Mybatis,SSM整合就是将SpringMVC和Mybatis中的对象配置到Spring容器中,交给Spring来管理。
1.
Spring(主要装配bean)
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。用到注解和自动装配就是Spring的两个精髓,其中IoC(控制反转)是Spring的核心思想,即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这bean的装载,降低了对象之间的耦合关系。AOP(面向切面)是面向对象开发的补充,它允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求,AOP降低了业务逻辑各个部分之间的耦合度,提高了程序的可用性,提高了开发效率。
SpringMVC(web层,相当于controller,主要进行页面的请求与响应)
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。
mybatis(主要与数据库交互)
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
2.
工作过程及开发步骤
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
3.
SSM框架对应到JavaEE三层架构:
(1)controller:属于web层对应SpringMVC
(2)service层:对应Spring
(3)dao层:对应Mybatis