ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习SSM框架

2022-04-28 08:35:05  阅读:246  来源: 互联网

标签:集成 学习 框架 Web Spring SSM 模块 AOP


 

SSM框架

Spring + Spring MVC + MyBatis 的结合

Spring:

  Spring 是一个轻量级 Java 开发框架,是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,也就是降低耦合度,即降低业务逻辑层和其他层/模块间的联系。

Spring体系结构:

Spring框架至今以及集成了20多个模块,这些模块分布在核心容器、数据访问/集成层、Web层、AOP(面向切面编程)模块、植入模块、消息传输和测试模块中。

 Spring体系结构图:

                                         

   对于以上模块我挨个说明一下相关概念:

    核心容器:Spring的核心容器是其他模块建立的基础,由Spring-core、Spring-beans、Spring-context、Spring-context-support、Spring-expression等模块组成。

      ·Spring-core模块: 提供框架的基本组成成分,包括控制反转(IoC)和依赖注入(DI)功能。

      ·Spring-beans模块:  提供BeanFactory,是工厂模式的一个经典实现,Spring将管理对象称为Bean。

      ·Spring-context模块: 建立在Core和Beans模块的基础之上,提供一个框架式的对象访问方式,是访问定义和配置的任何对象的媒介。ApplicationContext接口是Context模块的焦点。

      ·Spring-context-support:  支持整合第三方库到Spring应用程序上下文,特别是用于高速缓存和任务调度的支持。

      ·Spring-expression:  提供了强大的表达式语言去支持运行时查询和操作对象图

   控制反转 IoC :是一种思想,意思是将手动创建的对象的任务交由 Spring 框架去做,我们只需要从 Spring 容器中获取需要的对象,不需要理会它的创建过程。也就是说,将创建对象的控制权反转给了 Spring 框架。

  依赖注入:是一种消除类之间依赖关系的设计模式,实现松耦合。如业务层实现业务需要依赖于数据访问层,使用依赖注入则无需再业务层创建数据访问层的类,也就是将这种依赖关系配置在spring配置文件中,由Spring容器根据配置信息创建、管理Bean对象。 

       

      ·AOP和Instrumentation

        Spring-aop模块:提供了一个符合AOP要求的面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净解耦。

        Spring-aspects模块:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的AOP框架,这玩意儿以后再去了解。

        Spring-instrument模块:提供了类植入支持和类加载器的实现,可以在特定的应用服务器中使用。

       AOP(面向切面编程):将核心业务功能与周边功能分开

      ·消息

        消息模块:提供对消息传递体系结构和协议的支持

      ·数据访问/集成

        Spring-jdbc模块:提供了一个JDBC的抽象层,消除了繁琐的JDBC编码和数据库厂商特有的错误代码解析

        Spring-orm模块:先放一放

        Spring-oxm模块:先放一放

        Spring-jms模块:先放一放

        Spring-tx模块:支持用于实现特殊接口和所有POJO类的编程和声明式事务管理。

 

      ·Web

        Spring-web模块:提供了基本的 Web 开发集成功能

        Spring-webmvc模块:用于 Web 应用程序的 Spring MVC 的实现

        还有一些模块先放一放

      ·测试

        Spring-test模块:支持使用 JUnit 和 TestNG 对 Spring 组件进行单元测试和集成测试

标签:集成,学习,框架,Web,Spring,SSM,模块,AOP
来源: https://www.cnblogs.com/kerui2study/p/16201398.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有