概述
spring提供了一种轻量级的解决方案,用于建立“快装饰企业应用”还提供了声明式事务管理
,RMI或web Services远程访问业务逻辑,以及可以用多种方法进行持久化数据库地解决方案,
还有全功能的MVC框架,并能透明的把AOP集成到软件中
三大框架的综合
用控制反转容器在前台的展现层使用struts和使用hibernate集成编码或是jdbc抽象层处理数据
存储
spring七大模块的分析:
Core 封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,
它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑
中分离出依赖关系和配置。
构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI
注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如
资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。
DAO 提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且
,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,
而且对所有的POJOs(plain old Java objects)都适用。
ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate
和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,
如前边提到的简单声明性事务管理。
Spring的 AOP 封装包提供了符合 AOP Alliance规范的面向方面的编程(aspect-oriented
programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点
(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。而且,利用
source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点象.Net的
attribute的概念。
Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet
listeners进行IoC容器初始化和针对Web的application context。当与WebWork或Struts一起使
用Spring时,这个包使Spring可与其他框架结合。
Spring中的 MVC 封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框
架并不是仅仅提供一种传统的实现,它提供了一种 清晰的 分离模型,在领域模型代码和web
form之间。并且,还可以借助Spring框架的其他特性。
Spring2.0的新特性
1. 控制反转(IoC)容器
1.1更简单的xml配置
1.2新的bean作用域
1.3可扩展的xml编写
2. 面向切面编程(Aop)
2.1更简单的AOP XML配置
2.2对@Aspestj切面的支持
3. 中间层
3.1. 在XML里更为简单的声明性事务配置
3.2. JPA抽象层
3.3. 异步的JMS,,异步消息接收的完整支持
3.4. JDBC
4. WEB层
4.1. Spring MVC的表单标签库
4.2. Spring MVC合理的默认值
4.3. Portlet 框架。。类似于Spring MVC框架的Porlet框架
5. 其他特性
5.1. 动态语言支持。2.0现在支持用非Java语言编写的bean,当前支持的动态语言包括JRuby,Groovy和BeanShell
5.2. JMX,Spring Framework开始支持通知(Notification);还可以声明式地控制MBean在一个MBeanServer上的注册行为。
5.3. 任务规划
5.4. 对Java 5(Tiger)的支持
6. Deprecated的类和方法
下面的类/接口已经从Spring 2.0的代码中删除了。
• ResultReader : 使用RowMapper接口代替。
• BeanReferenceFactoryBean : 使用别名机制代替
• BeanDefinitionRegistryBuilder : 使用BeanDefinitionReaderUtils类上的方法代替
• BeanFactoryBootstrap : 考虑使用一个BeanFactoryLocator 或是自定义引导类代替
• RequestUtils : 使用ServletRequestUtils代替
Spring核心技术
一、 控制反转容器
1. 容器和bean的基本原理
bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中其他对象没有什么区别);
容器:org.springframework.beans.factory.BeanFactory
IoC容器的核心接口。它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖
2. Spring支持三种配置元数据格式
XML格式、Java属性文件格式或使用Spring公共API编程实现
3. 以下是一个基于XML的配置元数据的基本结构
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here... -->
</beans>
4. 实例化容器
Spring IoC容器的实例化非常简单,如下面的例子:
Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
... 或...
ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
... 或...
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = (BeanFactory) context;
二、 依赖
2. 注入依赖
依赖注入(DI)背后的基本原理是对象之间的依赖关系(即一起工作的其它对象。以下几种方式来实现:构造器的参数、工厂方法的参数,或给由构造函数或者工厂方法创建的对象设置属性。
分享到:
相关推荐
spring学习笔记
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
Spring学习笔记( spring视频笔记)
### Spring学习笔记:深入理解AOP与Annotation驱动的动态代理 #### 核心知识点解析: 在探讨Spring框架中AOP(面向切面编程)及基于Annotation的动态代理之前,我们首先需要了解AOP的基本概念及其在Spring中的实现...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...
Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...
在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...
这份"Spring学习笔记"涵盖了Spring框架的基础到高级应用,对于想要深入理解并掌握Spring的开发者来说是一份宝贵的资料。 1. **Spring概述**:Spring是一个开源的Java平台,主要设计用于简化企业级应用开发。它提供...
### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...