spring框架

简介:
Spring 的核心是个轻量级容器 [18] container ),实现了 IoC Inversion of Control )模式的容器。 Spring 的目标是实现一个全方位的整合框架,在 Spring 框架下实现多个子框架的组合,这些子框架之间彼此可以独立,也可以使用其它的框架方案加以替代, Spring 希望提供一站式的框架整合方案。在某些情况下,利用 Spring 可以不必考虑设计模式。因为 Spring 其实就是遵从了 J2EE 的设计模式。 Spring 框架具有以下特点:
 
1.        面向接口的编程。面向接口的编程使开发者事先知道他们将利用对象的方法。在设计应用时利用接口对我们获取实现的灵活性大有帮助。同时,利用接口使得各层之间的交互耦合性更为松散。
 
2.        测试更为容易。利用测试驱动开发是快速开发高质量代码的最佳途径。它利用在编写接口和实现之前先编写客户类(测试类)来驱动设计。诸如 Eclipse 这样的主流 IDE 都允许在实现测试类的同时创建类和方法。 Spring 使得测试更加容易有如下两个原因: 1) 可以在 Junit 测试用例中很容易的加载和利用 Spring 管理的 beans 。这使得我们可以像平常一样用任何客户端与这些 beans 交互。 2) 类之间没有绑定自己的依赖。这样在测试类中可以忽略 Spring ,只用设置模拟对象( mock objects )来处理依赖关系即可。
 
3.        减少耦合。为了创建一个容易维护和扩展的应用,将代码与特定的资源(例如,可能使用了针对于某个特定数据库的 SQL 函数)紧密耦合是不明智的。当然,如果有合适的函数可以迅速的实现功能时,针对于某个特定数据库通常是比较容易的。这种情况下, J2EE 设计模式通常建议使用工厂模式来减少实现类与应用之间的耦合。
 
4.        配置和绑定类之间的依赖关系。工厂模式使得我们可以轻松的从一个实现类切换到另一个实现类。接口和实现都可以配置在 XML 文件中并且可以方便的通过改变文件来改变实现类。
 
5.        支持对象 / 关系映射的工具。利用支持 ORM 类的优点就是我们不再需要写繁多的 try/catch 语句来捕获 API 抛出的异常。 Spring 将这些异常封装成为运行时的异常 (runtime exceptions) ,这样使得开发者可以在适当的时候捕获发异常。
 
使用 Spring 的优点:
1.        Spring 能消除在许多工程上对 Singleton 的过多使用。
2.        Spring  能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。
3.        Spring 能通过接口而不是类促进好的编程习惯,减少编程代价到几乎为零。
4.        Spring 被设计为让使用它创建的应用尽可能少的依赖于他的 APIs 。在 Spring
5.        应用中的大多数业务对象没有依赖于 Spring
6.        使用 Spring 构建的应用程序易于单元测试。
7.        Spring 为数据存取提供了一致的框架,不论是使用 JDBC O/R mapping 产品(如 Hibernate )。

Spring 的上述优点,使得Spring 框架成为构建信息发布系统模型层的首选框架。在本课题的实现过程中,使用了Spring管理的Bean,大大减少了代码的编写量的同时,代码质量也有很大的保证。面向接口的编程模式,使得测试同一个接口的不同实现变得容易,只需要简单的修改Spring的配置文件,极大地减少了编写测试代码的量。Spring的代理模式和面向方面编程的能力,使得拦截一个方法调用并在调用之前或者之后执行特定的操作变得简单。课题实现过程中的粗话过滤利用了Spring中面向方面的编程能力拦截信息插入操作,在插入操作执行之前进行粗话查询和替换,从而实现了粗话过滤。在信息插入操作执行之后进行拦截,给相关的人员发送E-mail,以便于通知有事件发生。Spring中支持事务管理,同样使用了拦截器模式,插入或者查询操作执行过程中使用事务,保证了数据库操作代码的安全性,Spring中可以使用声明式的事务管理。对事务的所有操作都在配置文件中进行配置,无须硬编码到Java代码中,使得底层的数据库操作实现类只专注于正常情况下的数据库的操作,其他的事情完全由Spring代理,降低了代码编写的难度和复杂度,并提高了代码质量。

本文转自凌辉博客51CTO博客,原文链接http://blog.51cto.com/tianli/32048如需转载请自行联系原作者


lili00okok

相关文章
|
13天前
|
存储 安全 Java
事件的力量:探索Spring框架中的事件处理机制
事件的力量:探索Spring框架中的事件处理机制
26 0
|
22天前
|
缓存 Java Spring
Spring 框架中 Bean 的生命周期
Spring 框架中 Bean 的生命周期
30 1
|
1月前
|
开发框架 安全 Java
Spring 框架:企业级应用开发的强大工具
在当今数字化时代,企业级应用开发的需求日益增长。为了满足这一需求,开发者们需要一款功能强大、易于使用的开发框架。Spring 框架作为 Java 领域的领先者,为企业级应用开发提供了全面的解决方案。本文将深入探讨 Spring 框架的各个方面,包括其历史、核心模块、优势以及应用场景。
24 0
|
1月前
|
存储 Java 数据库
|
1月前
|
人工智能 JSON 前端开发
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
【Spring boot实战】Springboot+对话ai模型整体框架+高并发线程机制处理优化+提示词工程效果展示(按照框架自己修改可对接市面上百分之99的模型)
|
3月前
|
XML Java 数据库连接
JAVAEE框架整合技术之spring03-SpringJdbcTemplate模板技术和事务处理
JAVAEE框架整合技术之spring03-SpringJdbcTemplate模板技术和事务处理
67 0
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架(十六)Spring Boot及Dubbo zipkin 链路追踪组件埋点
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文第一部分为调用链、OpenTracing、Zipkin和Jeager的简述;第二部分为Spring Boot及Dubbo zipkin 链路追踪组件埋点
|
2月前
|
缓存 安全 Java
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
Shiro框架以及Spring Boot整合Shiro
|
3月前
|
Java 数据库连接 Maven
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
|
3月前
|
Java 数据库 数据安全/隐私保护
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)