1.常用的几个jar包介绍
Core:框架的最基础部分,提供IoC和依赖注入特性。基础概念是BeanFactory
Context(上下文):基于Core的基础之上,提供了用一种框架风格的方式来访问对象。继承了beans包的功能。增加了国际化(I18N)(用于规范resource bundle),事件传播,资源装载,以及透明创建上下文。
DAO:提供了声明性事务管理方法
ORM:提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis
AOP:1.符合 AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现 2.弱代码的功能耦合
Web:提供了基础的针对Web开发的集成特性.这个包使Spring可与其他框架结合
MVC:提供了Web应用的Model-View-Controller(MVC)实现。
2.spring的优势
2.1 典型的完整Spring Web应用
Spring的 声明事务管理特性,Web应用可以做到完全事务性。
自定义的业务逻辑可以通过简单的POJO来实现,并利用Spring的IoC容器进行管理
对于其他的服务,比如发送email和不依赖web层的校验信息,还可以让你自己决定在哪里执行校验规则
Spring本身的ORM支持可以和JPA、Hibernate、JDO以及iBatis集成起来,例如使用Hibernate,你可复用已经存在的映射文件与标准的Hibernate SessionFactory 配置。
用控制器去无缝整合web层和领域模型,消除对 ActionForms 的依赖,或者避免了其他class为领域模型转换HTTP参数的需要。
2.2 可以很好的和第三方框架集成
2.3 支持远程访问应用程序
当你需要通过WebService来访问你的现有代码时,Spring提供的 Hessian-、Burlap-、Rmi- 为前缀的接口或者 JaxRpcProxyFactory 这个代理类,使得远程访问应用程序不在困难。
3 Spring 2.0和 2.5的新特性
Spring2.5起框架完全支持Java 6,而Spring 2.0则对Java 5支持比较好。
Spring延续了对J2EE 1.3及更高版本的兼容性,同时对Java EE 5提供完全支持
3 控制反转(IoC)容器
Spring 2.0 相当大的改进之一就是Spring的IoC容器。
1.增加了bean的作用域范围
2.xml的配置更简单了,也具有可扩展性。
3.Annotation(注解)驱动配置
Spring 2.0 引入了一些用于配置的annotation, 包括 @Transactional, @Required and @PersistenceContext /@PersistenceUnit.
Spring 2.5 引入了用于配置的完整的Annotation集合: @Autowired,以及对JSR-250注解@Resource, @PostConstruct and @PreDestroy的支持
4.在classpath中自动搜索组件
Spring2.5 引入了组件搜索功能:在classpath中自动搜索带有annotation的组件。典型的,下列组件类会注解为stereotype: @Component, @Repository, @Service, @Controller. 取决于程序的上下文配置,这些组件会被自动搜索到,并且转变为Spring bean定义,而不需要为每个类都进行明确的配置。
4.面向切面编程(AOP)
Spring 2.0在AOP上有很大的改进。Spring AOP框架本身就十分易于用XML配置,不再那么繁琐;
Spring 2.0集成了AspectJ 切入点(pointcut)语言和 @AspectJ 切面(aspect)声明类型。
Spring 2.5 加入了对bean(...)pointcut 元素的支持,在 spring定义的bean命名中对指定的命名进行匹配
Spring 2.5增加对AspectJ装载时织入(AspectJ load-time weaving)的支持