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. VS 2015相当不错的功能:C#交互窗口

    按照惯例,老周是先吹牛后讲正事.今天就给大伙吹吹这个事. 有网友不知道是不是昨晚喝高了,居然研究起老周来了.实话告诉你,老周没什么好研究的,老周又不是编译器,老周只是一个游离于大善大恶之间的平凡人,说 ...

  2. UML 序列图一点理解

    激活状态,就是长方形该画到哪里呢?我的理解是,一个长方形代表调用函数的执行过程,比如下图 这个长方形就表示viewDidAppear()函数没有执行完,在这个长方形上发出或者收到的消息都是在 view ...

  3. CodeForces 113B Petr#

    题目链接:http://codeforces.com/problemset/problem/113/B 题目大意: 多组数据每组给定3个字符串T,Sbeg,Sed,求字符串T中有多少子串是以Sbeg开 ...

  4. poj-1386(欧拉回路)

    题意:给你n个单词,每个单词可以和另一个单词连接,前提是(这个单词的尾字母等下一个单词的首字母),问你有没有一种连法能够连接所有的单词: 解题思路:每个单词可以看成是首字母指向尾字母的一条边,那么就变 ...

  5. 为什么watch机制不是银弹?

    几乎所有构建系统都选择使用watch机制来解决开发过程中需要反复生成构建后文件的问题,但在watch机制下,长期以来我们必须忍受修改完代码,保存完代码必须喝口茶才能刷新看看效果的问题.在这里我们尝试探 ...

  6. [No000016E]Spring 中获取 request 的几种方法,及其线程安全性分析

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

  7. opencv3.2.0实现视频抽帧,并保存成图片

    .实现指定帧数的抽取.和全部帧数的抽取,并保存到指定目录. 在QT新建一个控制台程序,程序源码如下:(程序实现每十帧获取一次帧) #include <QCoreApplication> # ...

  8. locust

    from locust import HttpLocust,TaskSet,task class UserVue(TaskSet): #tasks = {buy:1,consume:2} #设置权重 ...

  9. BBS - 预备知识

    一.中介模型 四个项目: 苑昊 博客(BBS) (7-8) CRM 1.权限组件 (3) 2.start组件 -- admin (5) 1.使用 2.源码 django 源码 (面向对象) 以源码为导 ...

  10. unity, 不要试图用rigidbody.Sleep()停止rigidbody

    如果想让rigidbody pause,用rigidbody.Sleep()是完全错误的办法.因为有很多情况都可能使一个处在sleep的rigidbody唤醒,所以调用rigidbody.Sleep( ...