博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring 系列教程一:概述
阅读量:6213 次
发布时间:2019-06-21

本文共 1447 字,大约阅读时间需要 4 分钟。

hot3.png

概述


Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码,Spring 框架的核心特性是可以用于开发任何 Java 应用程序,Spring 框架的目标是使 J2EE 开发变得更容易使用。 使用 Spring 框架的好处

下面列出的是使用 Spring 框架主要的好处:

1.非侵入式设计

Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

2.方便解耦、简化开发

Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器的管理,大大的降低了组件之间的耦合性。

3.支持AOP

Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。

4.支持声明式事务处理

只需要通过配置就可以完成对事物的管理,而无须手动编程。

5.方便程序的测试

Spring提供了对Junit等测试方式的支持,可以通过注解方便的测试Spring程序。

6.方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。

7.降低Jave EE API的使用难度。

Spring对Java EE开发中非常难用的一些API(如JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

依赖注入(DI)


Spring 最认同的技术是控制反转的依赖注入(DI)模式。控制反转(IoC)是一个通用的概念,它可以用许多不同的方式去表达,依赖注入仅仅是控制反转的一个具体的例子。

当编写一个复杂的 Java 应用程序时,应用程序类应该尽可能的独立于其他的 Java 类来增加这些类可重用可能性,当进行单元测试时,可以使它们独立于其他类进行测试。依赖注入(或者有时被称为配线)有助于将这些类粘合在一起,并且在同一时间让它们保持独立。

到底什么是依赖注入?让我们将这两个词分开来看一看。这里将依赖关系部分转化为两个类之间的关联。例如,类 A 依赖于类 B。现在,让我们看一看第二部分,注入。所有这一切都意味着类 B 将通过 IoC 被注入到类 A 中。

依赖注入可以以向构造函数传递参数的方式发生,或者通过使用 setter 方法 post-construction。由于依赖注入是 Spring 框架的核心部分,所以我将在一个单独的章节中利用很好的例子去解释这一概念。

面向方面的程序设计(AOP):


Spring 框架的一个关键组件是面向方面的程序设计(AOP)框架。一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如日志记录、声明性事务、安全性,和缓存等等。

在 OOP 中模块化的关键单元是类,而在 AOP 中模块化的关键单元是方面。AOP 帮助你将横切关注点从它们所影响的对象中分离出来,然而依赖注入帮助你将你的应用程序对象从彼此中分离出来。

Spring 框架的 AOP 模块提供了面向方面的程序设计实现,可以定义诸如方法拦截器和切入点等,从而使实现功能的代码彻底的解耦出来。

转载于:https://my.oschina.net/zhoumj/blog/3036865

你可能感兴趣的文章
Spring Cloud分布式微服务—加密和解密
查看>>
JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?...
查看>>
iOS OpenGL开发(二) - 着色器渲染流程
查看>>
JQuery介绍,包括load(),get(),post()以及赋值等方法
查看>>
布隆过滤器(Bloom Filter)的原理及在推荐去重中的应用
查看>>
[转]如何用React写小程序-2
查看>>
就业|大数据人才的岗位薪资水平到底有多高?
查看>>
JavaScript中的this
查看>>
Spark 的 Yarn-cluster 模式和 Yarn-client 模式
查看>>
各种环境变量配置
查看>>
Android 自定义View之烧瓶loading动画
查看>>
【轻松一刻】Java制作字符动画
查看>>
单机传奇
查看>>
创业扶持政策申报哪里靠谱?
查看>>
Spring系列__03IOC的一些补充
查看>>
Jetty 入门
查看>>
PHP全栈学习笔记2
查看>>
vue购物车
查看>>
HDFS上传流程以及操作命令
查看>>
移动端优先的flex三栏布局的使用方法
查看>>