先进的开发框架—理解什么是Spring
来源:互联网 发布:红楼梦贾迎春知乎 编辑:程序博客网 时间:2024/05/21 17:55
最近研究Spring,她包含的编程思想让我耳目一新。所以写下这篇入门级文章供新手参考。我不是什么Spring的资深研究人员,我只是现学现卖。所以文章也只能是肤浅单薄,错误难免,还请见谅。
一、 Spring诞生
Spring是一个开源框架,目前在开源社区的人气很旺,被认为是最有前途的开源框架之一。她是由Rod Johnson创建的,她的诞生是为了简化企业级系统的开发。说道Spring就不得不说EJB,因为Spring在某种意义上是EJB的替代品,她是一种轻量级的容器。用过EJB的人都知道EJB很复杂,为了一个简单的功能你不得不编写多个Java文件和部署文件,他是一种重量级的容器。也许你不了解EJB,你可能对“轻(重)量级”和“容器”比较陌生,那么这里我简单介绍一下。
1、什么是容器
“容器”,这个概念困扰我好久。从学习Tomcat开始就一直对此感到困惑。感性的来讲,容器就是可以用来装东西的物品。那么在编程领域就是指用来装对象(OO的思想,如果你连OO都不了解,建议你去学习OO先)的对象。然而这个对象比较特别,它不仅要容纳其他对象,还要维护各个对象之间的关系。这么讲可能还是太抽象,来看一个简单的例子:
代码片断1:
- public class Container
- {
- public void init()
- {
- Speaker s = new Speaker();
- Greeting g = new Greeting(s);
- }
- }
可以看到这里的Container类(容器)在初始化的时候会生成一个Speaker对象和一个Greeting对象,并且维持了它们的关系,当系统要用这些对象的时候,直接问容器要就可以了。这就是容器最基本的功能,维护系统中的实例(对象)。如果到这里你还是感到模糊的话,别担心,我后面还会有相关的解释。
2、轻量级与重量级
所谓“重量级”是相对于“轻量级”来讲的,也可以说“轻量级”是相对于重量级来讲的。在Spring出现之前,企业级开发一般都采用EJB,因为它提供的事务管理,声明式事务支持,持久化,分布计算等等都“简化”了企业级应用的开发。我这里的“简化”打了双引号,因为这是相对的。重量级容器是一种入侵式的,也就是说你要用EJB提供的功能就必须在你的代码中体现出来你使用的是EJB,比如继承一个接口,声明一个成员变量。这样就把你的代码绑定在EJB技术上了,而且EJB需要JBOSS这样的容器支持,所以称之为“重量级”。
相对而言“轻量级”就是非入侵式的,用Spring开发的系统中的类不需要依赖Spring中的类,不需要容器支持(当然Spring本身是一个容器),而且Spring的大小和运行开支都很微量。一般来说,如果系统不需要分布计算或者声明式事务支持那么Spring是一个更好的选择。
- 先进的开发框架—理解什么是Spring
- 先进的开发框架—理解什么是Spring
- 开发框架—理解什么是Spring
- 先进的框架Spring(2)
- 先进的框架Spring(3)
- 先进的框架Spring(4)
- 先进的框架Spring(5)
- 什么是Spring的MVC框架?
- Spring框架的理解
- Spring框架的理解
- Spring 框架的理解
- spring框架的理解
- 对spring框架的理解
- 搞笑的Spring框架理解
- spring框架的个人理解
- spring框架(IOC)的理解
- spring框架的深入理解
- Spring框架的学习理解
- linux下vi命令大全
- 插入用户数据测试
- Stady notes: Windows powershell tips
- 学习Gobject
- VIM使用
- 先进的开发框架—理解什么是Spring
- 软件工程 – 总结
- 使用JS编写一段面向对象的代码
- Internet Explorer_Server内容获取
- 什么是ORM?为什么要使用ORM?
- 根据一个值查找表,根据表名查询出表的基础属性
- 9.3
- Spring3.0 mvc --@RequestParam/@PathVariable区别
- Shader学习笔记,通过GLSL实现 (转载)