一、Spring概述
1.1 Spring特点
Spring是一个开源框架,为企业应用程序开发的复杂性提供一种轻量级解决方案。它主要提供:基于控制反转(Inversion of Control,IoC)的轻量级容器、面向切面编程(Aspect-oriented programming,AOP)支持、优秀的Web MVC框架、多种持久层技术的整合、多种Web MVC框架的整合等,是目前轻量级JavaEE企业应用的首选框架。
1.2 Spring模块
图1-1
Spring框架有7个模块组成(如图1-1):
核心容器:提供了基础功能。包含BeanFactory类(Spring 框架的核心,采用工厂模式实现)
应用上下文模块:扩展了BeanFactory类,添加了对i18N(国际化)、系统生命周期事件及验证的支持,并提供许多企业级服务,如电子邮件服务、JNDI访问、EJB集成、远程调用及定式服务,并支持与模板框架的集成
AOP模块:对面向切面提供了丰富的支持,是Spring应用系统开发面向切面的基础;并引入metadata编程
JDBC和DAO模块:
O/R映射模块:
Web模块:建立在应用上下文模块的基础上,提供了适合Web系统的上下文,另外,该模块支持多项面向Web的任务,如透明处理多文件上传请求,自动将请求参数绑定到业务对象中等
MVC框架:
二、搭建Spring应用开发环境
2.1 Spring的下载和安装
Spring当前GA版本是3.0.5,登录到http://www.springsource.org/站点,单击Powloads链接进入download页面。然后单击Download链接,逐步进入真正的下载页面。
建议下载spring-framework-3.0.5-with-dependencies.zip包,这个压缩中不仅含Spring自身的所有应用包,还含有Spring编译和运行所依赖的第三方类库以及第三方开源框架的应用包。
在应用程序中使用Spring时,需要将spring.jar添加到项目的类路径中,另外还需要添加日志处理包commons-logging.jar以及它的实现包log4j-1.2.15jar(还需要添加他的配置文件log4j.properties)。至于其他的第三方类库,可以在具体需要使用时再加入。
2.2 添加Spring配置文件
一般来说,使用Spring时会在项目的类路径(CLASSPATH)中添加Spring配置文件来声明Spring要管理的内容。通常把这个文件取名为applicationContext.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.5.xsd">
<!--配置由Spring来管理的Bean-->
<bean id="gdi" class="cn.csdn.dao.GenericDaoImpl">
<property name="say" value="O(∩_∩)O哈哈~"></property>
</bean>
</beans>
经过以上两个步骤,一个Spring的应用程序基本就搭建好。它的目录结构如图2-1所示。
下面我们来看一个简单的Spring应用程序案例。
三、Spring简单示例
程序清单3.1 SpringService接口将实现从接口中分离出来
package cn.csdn.spring;
public interface SpringService {
public void display();
}
程序清单1.2 SpringServiceImpl.java将负责打印问候语
package cn.csdn.spring;
public class SpringServiceImpl implements SpringService {
private String say;
public SpringServiceImpl() {
// TODO Auto-generated constructor stub
}
public void setSay(String say) {
this.say = say;
}
@Override
public void display() {
// TODO Auto-generated method stub
System.out.println("J2EE Spring:" + say);
}
}
程序清单1.3 在Spring中配置
applicationContext.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.5.xsd">
<bean id="ssi" class="cn.csdn.spring.SpringServiceImpl">
<property name="say" value="O(∩_∩)O哈哈~"></property>
</bean>
</beans>
程序清单1.4 使用JUnit进行测试
package cn.spring.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.csdn.spring.SpringServiceImpl;
public class SpringTest {
@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext(
"applicationContext.xml");
SpringServiceImpl ssi = (SpringServiceImpl) ac.getBean("ssi");
ssi.display();
}
}
分享到:
相关推荐
'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观...
本书由浅入深,循序渐进地介绍了Spring的体系结构和相关知识点,目的是帮助初学者快速掌握Spring,并能使用Spring进行应用程序的开发。本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本...
Spring作为实现J2EE的一个全方位应用程序框架,为我们开发企业级应用提供了一个健壮、高效的解决方案。所谓全方位,不得不说以下几个特点: 1 非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本...
Spring入门经典 一书全面透彻地介绍Spring Framework;Spring Framework是Java开发领域最流行的框架,是事实上的企业级应用开发标准。本书浓墨重彩地描述实际的企业级解决方案,每一章都提供了通俗易懂的示例和动手...
spring入门经典+源代码.Spring入门经典 一书全面透彻地介绍Spring Framework;Spring Framework是Java开发领域最流行的框架,是事实上的企业级应用开发标准。本书浓墨重彩地描述实际的企业级解决方案,每一章都提供了...
如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...
Spring入门到应用,分享Spring干活,带你入门,到使用。
而且在课程的最后部分加入了一个综合案例,可以将前面章节所学知识点应用到一个项目中,帮助学生理解消化。 配图(持久层技术,无界面) 课程主要内容 第一章 SpringData概述 1.持久层开发的问题 2.SpringData简介 第二...
Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的开发、配置和部署。本文将详细介绍Spring Boot的基本概念、特性、常用注解和实践。我们将使用一个实际的示例,帮助你更好地理解和应用Spring ...
作为 Spring Cloud 的早期玩家,见证了 Spring Cloud 家族的成长与壮大。...相信在未来 Spring Cloud Alibaba 获得更多开发者的亲睐与应用,这也将成为 Java 开发者必不可少 的技能之一。 很不错,快来下载吧。
•将Spring应用到Struts中 简介 这个例子是建立一个简单的web应用,叫MyUsers,完成用户管理操作,包含简单的数据库增,删,查,该即CRUD(新建,访问,更新,删除)操 作。这是一个三层的web应用,通过Action...
写一个最简单的spring示例,使用spring3.0的框架,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有涉及高级特性,比如与ORM框架的整合,事务...
如果您平时比较忙,没有太多时间去深入研究spring里面深入的东西,只是想要快速入门、快速...简单的Spring应用程序。并且例子中教你如何配置spring。 本教程是入门不可多得的,在这里跟大家分享了,希望大家多支持!!
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不...从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
spring在.net平台上的应用 个人觉得不错!推荐给大家
动态语言支持 第5篇 展现层应用 第19章 Spring MVC之一 第20章 Spring MVC之二 第21章 集成其他Web框架 第6篇 其他 第22章 Spring应用的测试 第23章 Spring工具类盘点 附录A 各种数据库连接...
懒得一个个上传了,索性打包一起来了。。 spring书籍打包下载 精通spring spring从入门到精通 spring开发指南 spring快速开发 J2ee企业应用实战SSH整合开发 spring入门
购物车用例 什么情况下可以使用 Spring Web ...配置 Spring Web Flow 2.0 的基础 在购物车示例应用中配置 Spring Web Flow 用 Unified EL 实现业务逻辑 用 subflow 实现添加商品到购物车功能 global transition 简介
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。...从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。