Spring的历史
Spring的初衷与目标
Spring框架
第一个Spring程序
Spring的历史
要讲到Spring的历史,就要先回顾一下J2EE的历史,J2EE应用程序的广泛实现是在2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。
Spring出现的一个最大的目标就是使J2EE开发变得更加容易。同时,Spring之所以与Struts、 Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的框架,可以为普通的Java对象提供企业级的服务。
Spring的初衷与目标
Spring的初衷
J2EE开发应该更加简单。
使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。
为JavaBean提供了一个更好的应用配置框架。
更多地强调面向对象的设计,而不是现行的技术,如J2EE。
尽量减少不必要的异常捕捉。
使应用程序更加容易测试。
Spring的目标
可以令人方便愉快的使用Spring。
应用程序代码并不依赖于Spring APIs。
Spring不和现有的解决方案竞争,而是致力于将它们融合在一起。
Spring框架
Spring框架包含许多特性,并被很好地组织在下图所示的七个模块中
加图
Spring Core
Core 封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
Spring Context
构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式和Context的透明创建,比如说通过Servlet容器。
Spring DAO
DAO 提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。
Spring ORM
ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。
Spring AOP
Spring的 AOP 封装包提供了符合 AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。
Spring Web
Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。
Spring Web MVC
Spring中的 MVC 封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种 清晰的 分离模型,在领域模型代码和web form之间。并且,还可以借助Spring框架的其他特性。
第一个Spring程序
下载Spring相关的jar文件
简单的Bean
package org.fire;
//一个简单的JavaBean
public class HelloBean {
private String helloWorld;
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}
Bean的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- Bean定义的文件中的根节点 -->
<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进行设置 -->
<!-- 设置Bean实例的识别名称 -->
<!-- 指定Bean的类名称 -->
<bean id="helloBean" class="org.fire.HelloBean">
<!-- 设置Setter的名称 -->
<property name="helloWorld">
<!-- 设置要注入的字符串值 -->
<value>Hello!fire</value>
</property>
</bean>
</beans>
示范程序
package org.fire;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
//示范程序
public class SpringDemo {
public static void main(String[] args) {
// 在classpath下读取指定的Bean定义文件
Resource rs = new ClassPathResource("beans-config.xml");
// 定义并建立BeanFactory
// Spring所提供的IoC容器
BeanFactory factory = new XmlBeanFactory(rs);
// 指定Bean的名称来取得Bean实例
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWorld());
}
}
分享到:
相关推荐
【Spring 概述】 Spring 是一个著名的 Java 开源框架,由 Rod Johnson 创建,旨在简化企业级应用程序的开发。它的核心特性包括控制反转(IoC)和面向切面编程(AOP)。Spring 框架的设计理念是轻量级,不仅在体积上...
【标题】"Java进阶之Spring概述共3页.pdf.zip" 涉及的主要知识点是Spring框架的基础概念和核心特性,这是一个广泛应用于企业级Java应用的开源框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程...
在本Java视频教程“Spring001_Spring概述”中,主讲人王勇老师将引领我们走进Spring框架的世界。Spring是Java开发中极其重要的一个轻量级框架,它的核心特性是依赖注入(Dependency Injection,简称DI)和面向切面...
《Spring入门:Spring概述与Spring IoC》是针对初学者的一篇教程,旨在引导开发者进入Spring框架的世界。本文将深入探讨Spring的核心概念,特别是Spring的Inversion of Control(IoC,控制反转)特性,以及如何在...
T22.2_Spring 概述 java 经典教程 经典教材
Spring概述 ①Spring是一个开源框架 ②Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却...
**Spring 框架概述** Spring 是一个开源的 Java 应用程序开发框架,由 Rod Johnson 在2003年发起,旨在简化企业级应用的开发。它以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-...
Spring 框架是Java平台上的一个轻量级企业级应用程序开发框架,它以其Inversion of Control(IoC,控制反转)和Aspect Oriented Programming(AOP,面向切面编程)为核心,为开发者提供了丰富的功能和组件。Spring...
Spring 框架是Java平台上的一个开源应用程序框架,它主要设计用于简化企业级应用的开发。Spring 提供了一个全面的编程和配置模型,旨在提高生产效率,促进良好的编程实践,并减少代码的复杂性。本篇文章将深入探讨...
Spring的一些基本概念的介绍,例如IoC,AOP等,并介绍了这么使用Spring
本书首先是一本通过通俗案例讲解Spring的教程;同时也是一本深入挖掘Spring及相关框架结构、设计原理;更是一本探讨J2EE软件开发中的艺术的书。本书还想讲述一条开源框架设计中金科玉律:思想决定一切,万变不离其宗...
Spring 框架是 Java 开发领域中一个极为重要的轻量级开源框架,它由 Rod Johnson 在2003年发起,旨在简化企业级应用开发。Spring 提供了一个全面的编程和配置模型,用于现代Java应用程序,特别是针对基于Java EE...
【Spring 框架概述】 Spring 是一个广泛应用于企业级 Java 应用开发的开源框架,它的核心设计理念是控制反转(IoC)和面向切面编程(AOP)。Spring 的出现使得开发者能够以非侵入式的方式编写应用程序,减少了代码...
Spring框架是Java企业级应用开发中非常重要的开源框架,它采用轻量级设计,能够提供全面的编程和配置模型,用于现代基于Java的应用开发。Spring框架的核心思想包括控制反转(IoC)和面向切面编程(AOP),这两种设计...
【Spring 框架概述】 Spring 是一个广泛应用于企业级 Java 开发的开源框架,它以其轻量级、模块化和全面的特性而受到开发者喜爱。Spring 为 J2EE 应用提供了一个全面的编程和配置模型,尤其是在实现依赖注入(DI)...
Spring 框架是Java平台上的企业级应用开发框架,尤其在J2EE环境中,它提供了全面的解决方案。Spring以其轻量级、模块化、松耦合和强大的依赖注入特性而闻名。 1. **MVC设计模式**:MVC全称是Model-View-Controller...
Spring 框架是Java平台上的一个核心软件开发框架,特别是在J2EE环境中,它为构建企业级应用提供了全面的解决方案。Spring以其轻量级、模块化和强大的依赖注入特性而闻名,使得开发者能够更专注于业务逻辑,而不是...
Spring
1、Spring概述 2、一切从bean开始 3、俯瞰Spring架构设计 4、Spring源码下载 二阶段 1、什么是IOC/DI 2、SpringIOC体系结构 3、源码分析-IOC容器的初始化 4、源码分析-IOC容器的依赖注入 5、源码分析-IOC容器的高级...