目录
Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的。
控制反转(IoC)和依赖注入(DI)
IoC/DI 是 Spring 的核心设计模式,它的所有组件和功能,都是基于这一模式设计的。IoC 意味着你设计好的对象交给容器控制,而不是在你的对象内部直接控制,而各个对象之间的依赖关系,是在容器运行期间决定的,容器动态地将依赖关系注入到组件中,且不关心具体的对象或资源来自何处,这大大降低了对象间的耦合度。
Spring 框架的模块:
名称
功能
spring-core
提供 IoC 和 DI 等功能
spring-beans
提供 Bean 容器等功能
spring-context
基于 core 和 beans 模块构建,扩展了功能
spring-context-support
支持整合第三方工具
spring-expression
提供 SpEL 表达式支持
名称
功能
spring-aop
提供 AOP(面向切面编程)支持
spring-aspects
提供 AspectJ 的集成
spring-instrumentation
提供类植入和类加载器的实现
名称
功能
spring-messaging
提供消息功能支持
名称
功能
spring-jdbc
提供 JDBC 抽象层来代替原生 JDBC 功能
spring-tx
提供编程式和声明式事务管理
spring-orm
提供主流的 ORM 框架 API 支持
spring-oxm
提供支持对象/XML映射抽象层
spring-jms
提供支持生产和消费的消息功能
名称
功能
spring-web
提供 Web 功能支持
spring-webmvc
提供 Web 应用程序的 MVC 和 REST Web Services 支持
spring-websocket
提供 Web Socket 支持
名称
功能
spring-test
提供 JUnit 或 TestNG 等主流单元测试框架的集成
Spring 对一些常用的功能组件都会基于 IoC/DI 模式来进行封装,简化其使用方式,以便开发人员开箱即用,不仅可以提高开发效率,还降低了耦合,提高了测试性和可移植性。
目标:
原则:
Endpoint
AMQP
Spring ApplicationEvent
File
FTP/FTPS Adapters
HTTP
JDBC
JPA
JMS
Mail
MongoDb
MQTT
Redis
Resource
RMI
RSocket
SFTP Adapters
STOMP
Stream
Syslog
TCP and UDP
WebFlux
WebSockets
Web Services
XML
Zookeeper
Spring 框架由多个模块构成,它不是一个全有或者全无的解决方案,我们完全可以按照需求使用它的全部或者部分特性。
Spring 完整使用场景:基于 Tomcat Servlet 容器,Web 层、业务层和数据持久层都使用 Spring 模块实现。
整合第三方 Web 框架:基于 Tomcat Servlet 容器,Web 层使用 Struts 等其他框架,业务层和数据持久层都使用 Spring 模块实现。
RPC 应用程序:基于 Tomcat Servlet 容器,使用Spring的 Hessian-,Rmi- 或HttpInvokerProxyFactoryBean 类构建远程调用程序。
EJB 应用程序:Spring 提供访问层和抽象层来管理 EJB。
比如我们通常使用的 SSM 框架和 SSH 框架就是 Spring 框架和第三方框架的组合形式:
Web 层
业务层
数据持久层
SSM
SpringMVC
Spring
MyBatis
SSH
Struts
Spring
Hibernate
不管我们怎么搭建应用程序框架,Spring 都能很好的集成到我们应用程序中。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章