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模块:提供了类植入支持和类加载器的实现,可以在特定的应用服务器中使用。
·消息
消息模块:提供对消息传递体系结构和协议的支持
·数据访问/集成
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 组件进行单元测试和集成测试
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。