一、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();
}
}
分享到:
相关推荐
6. **Spring Boot**:作为Spring的现代版本,Spring Boot简化了配置,提供了一种快速启动和运行Spring应用程序的方式,通常用于微服务架构。 7. **Spring Security**:这是一个强大的安全框架,可以处理身份验证、...
Spring Boot简化了Spring应用的开发,通过自动配置和启动器简化了许多配置。启动器提供了一组默认的依赖,如Web、数据访问等,使得快速构建应用成为可能。 总的来说,这个小案例展示了如何在IDEA中搭建一个基础的...
Spring 框架是Java开发中的一个核心框架,尤其对于初学者来说,它是一个极好的起点,可以帮助理解企业级应用的构建方式。本项目旨在为初学者提供一个基础的Spring项目实例,帮助大家快速上手并熟悉Spring的核心概念...
'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观...
- `Spring入门-cl.avi`:这是一个视频教程,详细演示了如何在Eclipse中搭建Spring开发环境,以及如何创建和配置一个简单的Spring应用。 - `Spring入门.pdf`:这份PDF文档可能包含了Spring的基本概念、术语解释,...
本书由浅入深,循序渐进地介绍了Spring的体系结构和相关知识点,目的是帮助初学者快速掌握Spring,并能使用Spring进行应用程序的开发。本书最大的特色在于每章都是由浅入深,从一个简单的示例入手,让读者快速了解本...
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化Spring应用的初始搭建以及开发过程。它预设了许多默认配置,使得开发者能够快速构建可运行的项目,而无需在配置上花费大量时间。本篇文章将深入探讨...
Spring作为实现J2EE的一个全方位应用程序框架,为我们开发企业级应用提供了一个健壮、高效的解决方案。所谓全方位,不得不说以下几个特点: 1 非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本...
【Spring Cloud Alibaba 从入门到精通1】 Spring Cloud Alibaba 是一套基于阿里巴巴集团内部中间件实践经验,为Java开发者提供的微服务解决方案。它旨在简化云原生应用的开发过程,尤其是在Spring Cloud生态中,...
这个部分是Spring入门的基础,它涵盖了如何创建第一个Spring应用。在`HelloWorld`项目中,你会看到如何配置Spring IoC(Inversion of Control,控制反转)容器,以及如何使用注解(@Component)来定义一个简单的Bean...
在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean配置的创建和管理,同时结合Maven来构建和运行Spring应用。 通过以上内容,你应该对Spring框架中的Bean XML配置有了初步的理解。掌握这些知识点后,你将...
通过这种方式,Spring Boot 实现了快速构建和运行 Spring 应用的目标,降低了入门门槛,特别是对于初学者和希望提高开发效率的团队。同时,它遵循了 Spring 社区的最佳实践,确保了应用的稳定性和可维护性。因此,...
Spring入门经典 一书全面透彻地介绍Spring Framework;Spring Framework是Java开发领域最流行的框架,是事实上的企业级应用开发标准。本书浓墨重彩地描述实际的企业级解决方案,每一章都提供了通俗易懂的示例和动手...
本基础教程旨在帮助初学者全面理解并掌握SpringCloud的核心概念和技术,通过实践源码与配套文档,深入学习其工作原理和应用方式。 首先,我们需要了解SpringCloud的基础架构,它由多个子项目组成,如Eureka(服务...
- **简介**:Spring Boot是Spring的一个衍生项目,旨在简化Spring应用的初始搭建以及开发过程。 - **特性**: - 自动配置:通过添加特定的依赖包,Spring Boot可以自动配置相关的组件。 - 嵌入式服务器:内置...
Spring.NET是.NET平台上的一种轻量级应用程序框架,它提供了依赖注入、AOP(面向切面编程)以及一系列的企业级服务,帮助开发者构建松耦合、可测试且易于维护的应用程序。而NHibernate则是一款优秀的ORM(对象关系...
在本文中,我们将深入探讨SpringBatch的学习入门,以及如何在IDEA环境中进行配置和实践。 首先,我们需要了解SpringBatch的核心概念: 1. **Job**:是SpringBatch中的最高级别抽象,代表一个完整的批处理任务,...
以上就是 Spring 和 Struts 的基础概念及入门实例的创建流程。这两个框架各有优势,Spring 更注重模块化和灵活性,而 Struts 则更侧重于 MVC 结构的实现。在实际项目中,两者常被一起使用,形成所谓的“Spring + ...
### Spring Webflow 入门基础 #### 购物车用例 首先,我们通过一个购物车用例来深入理解Spring Web Flow的应用场景及其优势。购物车作为一个典型的电子商务应用场景,涉及用户选择商品、查看购物车内容、确认订单...