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. OC语言基础之代码的封装

    1.封装的注意点 1: // 成员变量尽量不要用@public 2: // @public 3: int age; 1: //@public 2: // 只读(readonly):只允许外界访问我的n ...

  2. ThinkPHP中实例化对象M()和D()的区别

    ThinkPHP中实例化对象M()和D()的区别 ThinkPHP中实例化对象M()和D()的区别?ThinkPHP如何实例化对象?在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法 ...

  3. 解魔方的机器人攻略14 – 安装Lejos(下)

    由 动力老男孩 发表于 2009/12/27 17:16:11 第四步:安装Lejos 登陆 Lejos 主页点击 NXT 图片进入 Lejos 下载页面,点击 NXJ 的下载链接: 下载完成后将下载 ...

  4. Android之9图的制作

    .9.PNG确实是标准的PNG格式,只是在最外面一圈额外增加1px的边框,这个1px的边框就是用来定义图片中可扩展的和静态不变的区域.特别说明,left和top边框中交叉部分是可拉伸部分,未选中部分是 ...

  5. u-boot-2010.3移植到Tiny6410问题总结

    问题1: u-boot-2010.3中nand_spl文件夹的作用:实现从Nandflash启动在编译是会建立几个链接文件,用这几个链接文件生成u-boot-spl-16k.bin nand_spl/ ...

  6. PHP 让__get方法重新执行

    <?php class A { public function __get($p) { echo "getting $p\r\n"; if(isset($this->$ ...

  7. phpredis Floating point exception

    发生在高版本的gcc编译后的so用于低版本gcc编译出来的php, 解决方法, 加上参数-Wl,--hash-style=sysv phpize ./configure vi Makefile CC ...

  8. 检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}组件时失败

    检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 当在ASP.NET应用程序中引 ...

  9. NAND Flash Bad Block Table

    转:http://wiki.laptop.org/go/NAND_Flash_Bad_Block_Table 1 OLPC NAND Bad Block Management 1.1 Introduc ...

  10. log4j教程 11、日志记录到文件

    要写日志信息到一个文件中,必须使用org.apache.log4j.FileAppender.有以下FileAppender的配置参数: FileAppender配置: 属性 描述 immediate ...