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. [BZOJ1834][ZJOI2010]network 网络扩容 最大流+费用流

    1834: [ZJOI2010]network 网络扩容 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 3330  Solved: 1739 [Subm ...

  2. 51nod 1062 序列中最大的数【打表】

    1062 序列中最大的数 题目来源: Ural 1079 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 有这样一个序列a: a[0] = 0 a[ ...

  3. Educational Codeforces Round 33 (Rated for Div. 2) C. Rumor【并查集+贪心/维护集合最小值】

    C. Rumor time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  4. Python的程序结构[3] -> 变量/Variable[1] -> LEGB 法则

    LEGB法则 / LEGB Rule LEGB 变量搜索顺序 ---- 来源于<Python学习手册>/ Learning Python Page 419 ---- Python 的变量名 ...

  5. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  6. 前端中 width 的获取

    这篇文章其实是在了解 viewport 的过程中发现这些概念容易混淆做了个小小的总结.viewport的首要关键是宽度的获取,宽度的计算有下面几个属性和方法: clientWidth offsetWi ...

  7. linux命令和工具

    环境搭建 lnmp环境搭建 命令 uname -a 查看linux版本 lsof -i:80 查看端口被那个程序占用 lsof -p pid号 查看引用的文件 netstat -apn|grep 80 ...

  8. Flash3D学习计划(四)——学习纹理相关知识,载入一张纹理,并应用于前面的矩形;并学习多层纹理映射相关知识,尝试dark map, glow map

    实现效果   主要代码   package { import com.adobe.utils.AGALMiniAssembler; import com.adobe.utils.Perspective ...

  9. 【Java】java注解@Transient的作用, 配合JPA中时间段的查询

    java注解@Transient的作用 @Transient标注的属性,不会被ORM框架映射到数据库中. 用于数据库表字段和java实体属性不一致的时候,标注在属性上使用. 例如时间段的查询 查询 R ...

  10. [置顶] kubernetes资源类型--secret和Service Account

    secret 概念 secret对象类型主要目的是保存和处理敏感信息/私密数据,比如密码,OAuth tokens,ssh keys等信息.将这些信息放在secret对象中比 直接放在pod或dock ...