什么是spring

/ Spring / 没有评论 / 323浏览

从这一篇开始,我们将学习spring框架的知识,spring无疑是现在Java开发框架最火爆的开源框架之一。正是因为spring是开源的框架,所以我们可以很容易的下载它的源码来分析spring框架的底层设计。spring框架的源码地址为https://github.com/spring-projects/spring-framework。如果我们查看spring框架的源码就会发现spring框架的底层实现设计的非常巧妙,在源码里面使用了大量的设计模式。如果我们不但能够掌握spring框架的基本使用,还能了解底层的具体实现,那么不但在我们使用spring框架时得心应手,还能提高我们对设计模式的理解与使用。所以做为一个Java开发人员 ,学习spring框架是很重要的。

既然spring框架是那么重要的,我们来看一下spring框架到底能够为我们做些什么?

spring框架是一个分层的轻量级的Java开发框架。它主要包括IOC(Inverse of Control 控制反转也叫依赖注入)和AOP(Aspect Oriented Programming 面向切面编程)并提供了展现层spring MVC和持久层 spring JDBC以及事务管理等企业级开发技术。并且spring框架可以很方便的让我们集成其它开发框架并降低了框架与框架的整合难度。

下面我们看一下上面提到的具体的技术都是干什么用的。

IOC主要的作用就是将类与类的依赖关系从代码中脱离出来,用配置文件的的方式进行描述。然后在由IOC容器负责依赖类之间的创建、管理、获取等工作。说白了,IOC就是为了我们处理类的实例化而存在的。

AOP其实是一种编程思想。也就是为代码添加横切的逻辑。在spring框架中AOP功能就是在不改变类的源代码的情况下,可以改变这个类的功能。底层是通过动态修改运行期的字节码实现的。

我们知道在开发任何项目时都会有对数据访问的需求,但访问数据库的技术有很多种。如JDBC、Hibernate、Mybatis等。spring为了解决不同技术访问数据库的差异,spring在DAO层做了封装,简化了我们访问数据库的复杂性,并提供了统一的异常处理及事务处理。

spring提供了Web应用的各种工具类。并可以通过Listener和Servlet初始化spring容器,并支持Velocity、FreeMarker、XSLT等。除此之外还提供了完整的类似Struts一样的MVC框架。叫springMVC。

上面介绍的就是spring框架中每个模块的具体功能,那么在后续的文章中本人将详细分享上述模块的详细使用。并以此分享spring框架中涉及到的所有相关技术。