一、Spring概述

一、初识Spring

   Spring框架主要由7大模块组,

**核心模块

Spring Core 模块是Spring的核心容器,它实现了Ioc模式,提供了Spring框架的基础功能。模块中包含的BeanFactory类是Spring的核心类,负责对JavaBean的配置与管理。它采用Factory模式实现了Ioc容器即依赖注入。

**Context模块

Spring Context模块继承BeanFactory(或者说Spring核心)类,并且添加了事件处理、国际化、资源装载、透明装载及数据校验等功能。它还提供了框架式的Bean的访问和很多企业级的功能,如JNDI访问、支持EJB、远程调用、集成模板框架、Email和定时任务调度等。

**AOP模块

Spring集成了所有AOP功能。通过事务管理可以使任意Spring管理的对象AOP化。Spring提供了用标准Java语言编写的AOP框架,它的大部分内容都是根据AOP联盟的API开发。它使应用程序抛开EJB的复杂性,但拥有传统EJB的关键功能。

**DAO模块

DAO模块提供了JDBC的抽象层,简化了数据厂商的异常错误(不再从SQLException继承大批代码),大幅度减少代码的编写,并且提供了对声明式事务和编程式事务的支持

**O/R映射模块

Spring ORM模块提供了对现有ORM框架支持,各种流行的ORM框架已经做得非常成熟,并且拥有大规模的市场(如Hibernate)。Spring没有必要开发新的ORM工具,介是它对Hibernate提供了完美的整合功能,同时支持其它的ORM工具

**Web 模块

Spring web 模块建立在Spring Context基础之上,它提供了Servlet监听器的Context和web应用的上下文。它对现有的Web框架如JSF、Tapestry、Struts等提供了集成。

**MVC模块

Spring web MVC 模块建立在Spring核心功能之上,这使用它能够拥有Spring的所有特性,能够适应多视图、模板技术、国际化和验证服务,实现控制逻辑和业务清晰的分离。

 

二、Spring获取

 

三、简单配置Spring

spring.jar---------整个Spring模块,包含表中所有JAR的功能

spring-core.jar-----Springr的核心模块,包含IoC容器

spring-aop.jar------Spring的AOP模块

spring-context.jar---Srping的上下文,包含ApplicationContext容器

spring-dao.jar -----Spring的DAO模块,包含对DAO与JDBC的支持

spring-orm.jar-----Srping的ORM模块,支持Hibernate,JDO等ORM工具

spring-web.jar------Spring的web模块,包含Web application context

spring-webmvc.jar----Spring的MVC框架模块

 

三、使用BeanFactory管理Bean

BeanFactory采用Java经典的工厂模式,通过从XML配置文件或属性文件中读取JavaBean的定义,来实现JavaBean的创建,配置和管理。BeanFactory有很多实现,其中XmlBeanFactory可以通过流行的XML文件格式读取配置信息来装载JavaBean。BeanFactory在Spring中的作用如

 

Resource resource = new ClassPathResource("applicationContext.xml");

BeanFactory factory = new XmlBeanFactory(name);

Test test = (Test) factory.getBean("test");

 

BeanFactory 在调用getBean()方法之前不会实例化任何对象,只有地需要创建JavaBean的实例对象时,才会为其分配资源空间

 

四、ApplicationContext的应用

BeanFactroy实现了IoC控制,所以它可以称为“IoC容器”,而ApplicationContext扩展了BeanFactory容器并添加了对I18N、生命周期事件的发布监听等更加强大的功能,使之成为Spring中强大的企业级IoC容器,这个容器中提供了对其他框架和EJB的集成、远程调用、WebService、任务调度和JNDI等企业服务。在Spring应用中大多采用ApplicationContext容器来开发企业级的程序

 

ApplicationContext接口有3个实现类,可以实例化其中任何一个类来创建Spring的ApplicatonContext容器。

**ClassPathXmlApplicationContext类

ClassPathXmlAppplicationContext,它从当从类路径中检索配置文件并装配它来创建容器的实例。

ApplicationContext context = ClassPathXmlApplicatoncontext(Stirng configLocation);

其中的configLocation参数指定了Spring配置文件的名称和位置

**FileSystemXmlApplicationContext类

FileSystemXmlApplicationContext,它和ClassPathXmlApplicatonContenxt类的区别在于读取Spring配置文件的方式,它不再从类路径中获取配置文件,而是通过参数指定配置文件的位置可以获取路径之外的资源

ApplicatonContext context = new FileSystemXmlApplicationContext(Stirng configLocation);

**WebApplicationContext类

WebApplicationContext是Spring的Web应用容器,有两种方法可以在Servlet中使用WebApplicationContext。第一种方法是在Serlvet的web.xml文件中配置Spring的ContextLoaderListener监听器。第二种方法同样要修改web.xml配置文件,在配置文件中添加一个Servlet,定义使用Spring的org.springframework.web.ContextLoaderServlet类

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring一个开源的Java框架,用于构建企业级应用程序。它提供了一种轻量级的、非侵入式的开发方式,通过使用依赖注入和面向切面编程等特性,简化了Java应用程序的开发Spring框架的核心特性包括: 1. 控制反转(IoC):Spring通过控制反转实现了对象之间的解耦。它将对象的创建和依赖关系的管理交给了Spring容器,开发者只需要定义好对象的配置信息,Spring容器就会负责创建和管理这些对象。 2. 依赖注入(DI):Spring使用依赖注入来实现对象之间的依赖关系。开发者只需要在对象中定义好需要注入的依赖,Spring容器就会自动将依赖注入到对象中,无需手动管理对象之间的依赖关系。 3. 面向切面编程(AOP):Spring提供了面向切面编程的支持,可以将与业务逻辑无关的横切关注点(如日志记录、事务管理等)从业务逻辑中分离出来,提高了代码的模块化和可重用性。 4. 容器管理:Spring提供一个容器,用于管理应用程序中的各个组件。容器负责创建和管理对象的生命周期,并提供了一些额外的功能,如事件发布、国际化支持等。 5. 数据访问支持:Spring提供了对各种数据访问技术的支持,包括JDBC、ORM框架(如Hibernate、MyBatis)、事务管理等。 6. Web开发支持:Spring提供了对Web开发的支持,包括MVC框架、RESTful服务、WebSocket等。 7. 测试支持:Spring提供了对单元测试和集成测试的支持,可以方便地进行测试驱动开发。 总之,Spring框架通过提供一系列的功能和特性,简化了Java应用程序的开发,提高了代码的可维护性和可测试性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值