`
zijimanman
  • 浏览: 10025 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring3开发实战 之 第一章:Spring入门

阅读更多

 

认识Spring

Spring是什么

Spring是一种轻量级的、非侵入式的Java/JavaEE应用框架    

Spring背景

Rod Johnson

《Expert One-on-One J2EE Design and Development》(2002)这本书的中文译本为《J2EE 设计开发编程指南》(2003)
半年后,一个新的Java Framework发布,同样出自Rod Johnson 的手笔,这自然引起了大家极大的兴趣,这就是SpringFramework。SpringFramework 实际上是《Expert One-on-One J2EE Design and Development》 一书中所阐述的设计思想的具体实现。
 
 《Expert One-on-One J2EE Development without EJB》 (2004)
nSpring目标
让J2EE开发变的简单、易用     (框架的好处)
业务应用“不”依靠 Spring API (非侵入性)
集成已存在的成熟应用解决方案 (如Hibernate,不重复发明轮子)
利用面向对象的优秀技术       (面向接口而非实现编程,组合优于继承)
促进好的编程习惯             (测试驱动开发,测试简单,面向接口编程)
让测试业务应用变得简单、快速 (无侵入性,测试容易)

Spring优点

有效地组织你的中间层对象
消除各式各样的配置文件
将面对接口编程做到实处
自由、不依赖框架
将单元测试变的简单
统一的数据存储方式
只选择你需要的

Spring能干什么

Spring能干什么

笼统说:Spring能作为一个超级的”粘合”平台,把很多的技术有效整合到一
起,形成一个整体,以更好的解决问题,并使系统结构更优良、性能更出众。
(体现体系结构设计的:组件式、装配式、插拔式、复用性、无侵入式等)
具体点说,Spring能干的事情很多,最基本的有以下几条:
1:IoC/DI
2:AOP
3:对JDBC和ORM的支持
4:服务(典型如:事务)
5:各种技术的整合(典型如:Struts2+Spring3+Hibernate3整合,还有很多其他的技术整合,如EJB、JMS等)
6:Web应用框架(SpringMVC)
7:更多技术,如:Spring的Security、Spring的Web Flow、Spring的WebService等等
 

Spring有什么



上图是Spring框架2.5版时官方给出的概述图

Core包

Core封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。

DAO包

DAO提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。还提供了一种比编程性更好的声明性 事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。

ORM包

ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性 事务管理。

AOP包

Spring的 AOP 封装包提供了符合 AOP 联盟规范的面向方面的编程实现,让你可以定义如方法拦截器和切入点,从逻辑上讲,可以减弱代码的功能耦合,清晰的被分离开。而且,利用源码级的元数据功能,还可以将各种行为信息合并到你的代码中 。

Web包

Spring中的Web包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context。这个包使Spring可与其他框架结合。

MVC包

Spring中的 MVC 封装包提供了Web应用的MVC实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和web form之间。并且,还可以借助Spring框架的其他特性。

Spring3总共包含了大约20个模块,这些模块又被组织成为:

核心容器部分、数据访问/集成部分、Web部分、AOP部分和测试支持几个部分。

核心容器部分(Core Container)又包含如下部分

1:Core和Beans模块提供了Spring最基础的功能,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
2:Context模块基于Core和Beans来构建,它提供了用一种框架风格的方式来访问对象,有些像JNDI注册表。Context封装包继承了beans包的功能,还增加了国际化(I18N),事件传播,资源装载,以及透明创建上下文,例如通过servlet容器,以及对大量JavaEE特性的支持,如EJB、JMX。核心接口是ApplicationContext。
3:Expression Language,表达式语言模块,提供了在运行期间查询和操作对象图的强大能力。支持访问和修改属性值,方法调用,支持访问及修改数组、容器和索引器,命名变量,支持算数和逻辑运算,支持从Spring 容器获取Bean,它也支持列表投影、选择和一般的列表聚合等。

数据访问/集成部分(Data Access/Integration)又包含如下部分

1:JDBC模块,提供对JDBC的抽象,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。
2:ORM模块,提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如简单声明性 事务管理 。
3:OXM模块,提供一个支持Object和XML进行映射的抽象层,其中包括JAXB、Castor、XMLBeans、JiBX和XStream。
4:JMS模块,提供一套“消息生产者、消费者”模板用于更加简单的使用JMS,JMS用于用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
5:Transaction模块,支持程序通过简单声明性 事务管理,只要是Spring管理对象都能得到Spring管理事务的好处,即使是POJO,也可以为他们提供事务。

Web部分又包含如下部分

1:Web模块,提供了基础的web功能。例如多文件上传、集成IoC容器、远程过程访问、以及Web Service支持,并提供一个RestTemplate类来提供方便的Restful services访问
2:Web-Servlet模块,提供了Web应用的Model-View-Controller(MVC)实现。Spring MVC框架提供了基于注解的请求资源注入、更简单的数据绑定、数据验证等及一套非常易用的JSP标签,完全无缝与Spring其他技术协作。
3:Web-Struts模块, 提供了对Struts集成的支持,这个功能在Spring3.0里面已经不推荐了,建议你迁移应用到使用Struts2.0或Spring的MVC。
4:Web-Portlet模块,提供了在Portlet环境下的MVC实现
 

AOP部分又包含如下部分

1:AOP模块,提供了符合AOP 联盟规范的面向方面的编程实现,让你可以定义如方法拦截器和切入点,从逻辑上讲,可以减弱代码的功能耦合,清晰的被分离开。而且,利用源码级的元数据功能,还可以将各种行为信息合并到你的代码中 。
2:Aspects模块,提供了对AspectJ的集成。
3:Instrumentation模块, 提供一些类级的工具支持和ClassLoader级的实现,可以在一些特定的应用服务器中使用
 

Test部分又包含如下部分

1:Test模块,提供对使用JUnit和TestNG来测试Spring组件的支持,它提供一致的ApplicationContexts并缓存这些上下文,它还能提供一些mock对象,使得你可以独立的测试代码。
 
 
视频配套PPT,视频地址【 Spring3开发实战-独家视频课程
 原创内容 转自请注明【http://sishuok.com/forum/blogPost/list/2826.html#7825
分享到:
评论

相关推荐

    spring3.0mvc自学教程ppt+注解教程+注解实例+springmybatis教程+项目实例+中文api (老师的心血)从入门到项目实战

    spring3.0mvc自学教程ppt+注解教程+注解实例+springmybatis教程+项目实例+中文api 初学(自学)着的不二法定,从入门到项目实例深入学习(浅-深)

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    SpringBoot实战(第4版)清晰版

    3 小结 18 第 2 章开发第一个应用程序 19 2 . 1 运用 Spring Boot 19 2 . 1 . 1 查看初始化的 Spring soot 新项目 21 21 . 2 Spring Boot 项目构建过程解析 24 2 . 2 使川起步依赖, 27 2 . 2 . 1 指定基于功能的...

    Spring Boot实战入门篇视频课程

    第一章:对spring boot的特性、优缺点、场景进行详细讲解。第二章:springboot核心功能第三章:热部署的几种模式第四章:Web开发的各种技术第五章:数据访问层:spring data jpa、jdbctemplate、mybatis、redis第六...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    第一部分 点睛Spring 4.x 第1 章 Spring 基础 2 1.1 Spring 概述 2 1.1.1 Spring 的简史 2 1.1.2 Spring 概述 3 1.2 Spring 项目快速搭建 5 1.2.1 Maven 简介 6 1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    第一部分 点睛Spring 4.x 第1 章 Spring 基础 2 1.1 Spring 概述 2 1.1.1 Spring 的简史 2 1.1.2 Spring 概述 3 1.2 Spring 项目快速搭建 5 1.2.1 Maven 简介 6 1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 ...

    spring boot实战.pdf高清无水印

    第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Boot新项目 21 2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 覆盖...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    第一部分 点睛Spring 4.x 第1 章 Spring 基础 2 1.1 Spring 概述 2 1.1.1 Spring 的简史 2 1.1.2 Spring 概述 3 1.2 Spring 项目快速搭建 5 1.2.1 Maven 简介 6 1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 ...

    Java进阶教程数据层全栈方案SpringData高级应用视频教程

    第一章 SpringData概述 1.持久层开发的问题 2.SpringData简介 第二章 JPA回顾 1.JPA基础 2.JPA实战 3.JPA的重要API介绍 第三章 SpringData JPA基础 1.SpringData JPA简介 2.SpringData JPA快速入门 3.SpringData Jpa...

    SpringBoot开发实战(理论基础)

    第一章 Spring基础 第二章 Maven基础 第三章 Spring MVC基础 第四章 Spring Boot入门 第五章 Spring Boot核心 第六章 Spring Boot数据访问 第七章 Spring Boot缓存管理 第八章 Spring Boot消息服务 第九章 Spring ...

    JavaEE开发的颠覆者 Spring Boot实战,多个地址免费下载,

    JavaEE开发的颠覆者 Spring Boot实战,多个地址免费下载,第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 Spring 概述 ................................................

    JavaEE开发的颠覆者+Spring+Boot实战++完整版

    出版社名称: 电子工业出版社 作者: 汪云飞 书名: JavaEE开发的颠覆者 Spring Boot实战 ISBN编号: 9787121282089 第一部分 点睛Spring 4.x 第1 章 Spring 基础 ..........................................2 1.1 ...

    Spring Boot实战 ,丁雪丰 (译者) .pdf

    第1章 入门 1 1.1 Spring风云再起 1 1.1.1 重新认识Spring 2 1.1.2 Spring Boot精要 3 1.1.3 Spring Boot不是什么 ...第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Bo

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate整合开发

    轻量级J2EE企业应用实战,详细讲述了SSH开发的方方面面,是一本极好的入门书籍。 本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及三个开源框架:Struts、Hibernate和Spring,还介绍了Tomcat和Jetty两个...

    Spring Boot实战 ,丁雪丰 (译者) 中文版

    第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Boot新项目 21 2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 ...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part3

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

    J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

    本书不仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP2.0的规范、 Struts的各种用法、 Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的J2EE...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part1

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part2

     本书不仅仅是一本J2EE入门图书,还详尽而细致地介绍了JSP各个方面,包括JSP 2.0的规范、Struts的各种用法、Hibernate的详细用法,以及Spring的基本用法。书中所介绍的轻量级J2EE应用,是目前最流行、最规范的...

Global site tag (gtag.js) - Google Analytics