Spring Framework

       学习java编程不知不觉已经三年时间了,開始的时候,总是喜欢看着视频,然后按部就班的敲打着键盘,每当系统正常执行后。心里乐开了花。最開始的时候,所有的代码都是由自己设计。基本上不使用第三方java类。

可是随着学习的深入,逐渐的開始接触各种第三方java类库,比方apache common。dom4j,log4j等。相同的,为了减少系统开发的复杂度,大部分系统也会採用业界经典的框架结构来构建。比方:struts + spring
+ orm(ssh),spring mvc + spring + orm(s2sh)。

在java中,Spring Framework(下面简称为spring)框架使用很广。特别是在java ee开发的系统中。经常使用的ssh,s2sh都离不开spring。

       这篇文章为spring framework简单介绍,后期会对spring各个模块逐一分解,有兴趣的能够关注博客最新动态。该博文主要为笔者学习过程中记录下来的一些重点内容。请忽略详细的细节。当然。为了更加easy理解一些抽象概念,建议读者先具备一定的java开发功底,比方java基本的语法,设计模式。UML,数据库等基础知识。
       当然,该文章的主要源于spring官方文档,建议读者直接查阅:Spring Framework

简单介绍

       Spring Frame为现代企业应用程序提供了一个全面和可配置的编程模型。开发人员能够依据须要高速选择须要的模块。使用spring来管理应用程序。能够将开发人员从基础框架中解脱出来。专注于业务逻辑开发。极大提高开发效率。

模块

       spring由多个模块构成,当中core模块为核心模块,其它各个模块都依赖于core模块。在开发中。开发人员可依据须要选择模块。

spring模块组成图

     
       由上图能够看出,spring主要由例如以下几个模块构成
  • Core container:IOC为核心层(spring-ioc
  • Resource:资源(spring-resource
  • Aop:面向切面编程(Spring AOP
  • Data Access:数据库訪问层(见后期分解)
  • Web:spring mvc层(见后期分解)
  • Test:spring測试框架(见后期分解)

使用场景

       下图为整个spring的使用场景
       由图中能够看出,spring各个模块都清晰地展示出来了使用场景。作为spring使用者,我们仅仅须要借助于spring就能够将大量的基础框架交给spring来管理,开发人员仅仅须要专注于业务逻辑就可以,极大减少了开发的复杂度。比方通过声明式事务来配置事务,让有关于事务的模板代码所有丢给spring管理;使用IOC来管理依赖注入;使用spring
mvc来作为mvc框架等。但作为一个通用的框架。肯定不能绑定整个spring。这就是spring的厉害之处,可灵活的容纳其它第三方框架。下图为spring整合struts的框架图

总结

       学习spring。不能一脑瓜子的直接copy他人的配置文件。否则会给各个配置文件搞得神魂颠倒,出了问题还一头雾水。通过阅读官方文档,对整个spring框架的主体有了个清晰的把握,开发起来更加得心应手。熟话说,打蛇打七寸。学习也是一个道理。得把握某个技术的设计原理与应用场景。有了总体的脉络。学习事半功倍。
       

Spring Framework简单介绍的更多相关文章

  1. Spring框架简单介绍

    原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...

  2. Spring Cache简单介绍和使用

    Spring Cache 缓存是实际工作中非经常常使用的一种提高性能的方法, 我们会在很多场景下来使用缓存. 本文通过一个简单的样例进行展开,通过对照我们原来的自己定义缓存和 spring 的基于凝视 ...

  3. spring mvc简单介绍xml版

    spring mvc介绍:其实spring mvc就是基于servlet实现的,只不过他讲请求处理的流程分配的更细致而已. spring mvc核心理念的4个组件: 1.DispatcherServl ...

  4. spring boot-1.简单介绍及环境搭建

    1.简介 spring boot 是在spring 基础上进行了全面整合的架构,个人认为优点在于以下几点: 1.简化配置,甚至零配置即可开发出一个web应用.spring boot 默认配置了大量的s ...

  5. Spring的简单介绍

    struts2:web层hibernate:dao层spring:service层 1 spring框架概述 1.1 什么是springSpring是一个开源框架,Spring是于2003 年兴起的一 ...

  6. mybatis+spring的简单介绍学习

    参考下面链接 http://mybatis.github.io/spring/zh/index.html

  7. Spring MVC 简单介绍

    Spring MVC 是典型的mvc架构,适合web开发. controler 输入输出的控制器,也是对外view提供数据的接口,调用service层. model 数据,由bean组成(相应表),关 ...

  8. Spring history&Design Philosophy 简单介绍~

    SPRING框架的介绍和历史 Spring Framework是一个开源Java应用程序框架,最初是基于依赖注入(DI)和控制反转(IoC)的原理开发的. Spring Framework已经成长为控 ...

  9. 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下

    首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...

随机推荐

  1. 使用 ElasticSearch Aggregations 进行统计分析

    https://blog.csdn.net/zxjiayou1314/article/details/53837719/

  2. React Native WebView关闭缓存

    React Native WebView关闭缓存 网上搜索没有找到关闭React Native下webview控件的缓存的方法,经测试找到解决方案,记录如下 核心思路:通过请求时设置请求头,使页面缓存 ...

  3. (3)C#基本语法

    1.C#标识符 标识符是用来识别类.变量.函数或任何其它用户定义的项目. 在 C# 中,类的命名必须遵循如下基本规则: 标识符必须以字母开头,后面可以跟一系列的字母.数字.下划线.标识符中的第一个字符 ...

  4. [Math Review] Statistics Basic: Sampling Distribution

    Inferential Statistics Generalizing from a sample to a population that involves determining how far ...

  5. jmeter引用cookies进行登录实战

    以jmeter登录接口为例,就下面的这个登录页面 在测试之前,我们输入用户和密码先手动登录下,看看有那些网络信息,使用fiddler抓包 登录发送的是这个请求,我们看下使用什么方式,以及用到那些参数 ...

  6. Maximum Size Subarray Sum Equals k -- LeetCode

    Given an array nums and a target value k, find the maximum length of a subarray that sums to k. If t ...

  7. 彻底理解H5的DOM事件

    我们大家都知道,人与人之间的交流可以通过语言,文字,肢体动作,面部微表情等,但是你知道Javascript和HTML之间是通过什么进行交互的么?你又知道Javascript和HTML之间是如何进行交互 ...

  8. 【Node.js】4.从一个例子切入Node js的规范

    在开始之前,需要明确的一点就是, ①Node应用是由模块组成的,每一个文件都是一个模块,有自己的作用域. ②在这个文件里定义的变量,函数,类都是私有的,对其他的文件不可见. ③在一个文件中,也就是在一 ...

  9. ylbtech-WelfareSystem(福利发放管理系统)-数据库设计

    ylbtech-DatabaseDesgin:ylbtech-WelfareSystem(福利发放管理系统)-数据库设计 1.A,数据库关系图(Database Diagram) 1.B,数据库设计脚 ...

  10. 记一次有惊无险的Linux数据恢复过程

    问题阶段 起因: 昨天晚上思路不是很清晰(上了一天班回来有点蒙),还是强忍着疲惫想搞事情,结果悲剧了… … 本来想拿SD卡做一张linux烧录卡,烧录脚本是很久以前写的,有git记录,一直不成功,就回 ...