您的位置:首页 > 编程语言 > Java开发

spring学习之一:了解spring

2006-11-28 21:02 357 查看
1.Spring是什么?

Spring是一个轻量级的IoC和AOP容器框架。
你可以通过 Spring 来利用普通 Java 对象(POJO)编程,使用依赖注入解析 POJO 间的依赖性,然后使用面向切面编程(AOP)将服务与它们相关联。
 

2.理解Spring:
(1).轻量级(Lightweight)
(2).控制反转 IoC(Inversion of Control)
           或称依赖注入(Dependency Injection)
(3).面向切面 AOP(Aspect-oriented programming)
(4).容器(Container)
(5).框架
 

3.Spring的历史:
        Spring的基础架构起源于2000年早期,它是Rod Johnson在一些成功的商业项目中构建的基础设施。
        在2002后期,Rod Johnson发布了《Expert One-on-One J2EE Design and Development》一书,并随书提供了一个初步的开发框架实现——interface21开发包,interface21就是书中阐述的思想的具体实现。后来,Rod Johnson 在interface21 开发包的基础之上,进行了进一步的改造和扩充,使其发展为一个更加开放、清晰、全面、高效的开发框架——Spring。
        2003年2月Spring框架正式成为一个开源项目,并发布于SourceForge中。目前正式版为2.0.1。
 

4Spring的承诺:
•好的设计比任何实现技术都重要。
•面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。
•代码应该易于测试。Spring框架会帮助您,使代码的测试更加简单。
5.Spring模块:

Core包是框架的最基础部分, 并提供依赖注入(Dependency Injection)特性来使你可管理Bean容器功能。 这里的基础概念是BeanFactory,它提供Factory模式来消除对程序性单例的需要, 并允许你从程序逻辑中分离出依赖关系的配置和描述。

构建于Beans包上Context包,提供了一种框架式的Bean访问方式, 有些象JNDI注册。Context包的特性得自Beans包,并添加了文本消息的发送,通过比如资源串, 事件传播,资源装载的方式和Context的透明创建,如通过Servlet容器。

DAO包提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 该包也提供了一种方法实现编程性和声明性事务管理,不仅仅是针对实现特定接口的类, 而且对所有的POJO。

ORM包为流行的关系-对象映射APIs提供了集成层,包括JDO,Hibernate和iBatis。 通过ORM包,你可与所有Spring提供的其他特性相结合来使用这些对象/关系映射, 如前边提到的简单声明性事务管理。

Spring的AOP包提供与AOP联盟兼容的面向方面编程实现,允许你定义, 如方法拦截器和切点,来干净地给从逻辑上说应该被分离的功能实现代码解耦。 使用源码级的元数据功能,你可将各种行为信息合并到你的代码中,有点象.Net的attribute。

Spring的Web包提供了基本的面向Web的综合特性,如Multipart功能, 使用Servlet监听器的Context的初始化和面向Web的Applicatin Context。 当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。

Spring的Web MVC包提供了面向Web应用的Model-View-Controller实现。 Spring的MVC实现不仅仅是一种实现,它提供了一种domain model代码和web form的清晰分离, 这使你可使用Spring框架的所有其他特性,如校验.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息