Spring---简介

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。 spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案包括:基于依赖注入的核心机制、基于AOP的声明式事务管理、与多种持久层技术的整合,以及优秀的web
mvc框架等。

一 spring构架的组成结构图:

Core Container(核心容器)包含有Core、Beans、Context和Expression Language模块。

Core和Beans模块:框架的基础部分,提供IoC(反转控制)和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正的允许你从程序逻辑中分离出依赖关系和配置。

Context模块:构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。Context模块继承了Beans的特性,然后添加了对国际化(例如资源绑定)、事件传播、资源加载和对Context的透明创建的支持。Context模块同时也支持J2EE的一些特性,例如EJB、JMX和基础的远程处理。ApplicationContext接口是Context模块的关键。

Expression Language模块:Expression Language模块提供了一个强大的表达式语言用于在运行时查询和操纵对象。它是JSP2.1规范中定义的unifed expression language的一个扩展。该语言支持设置/获取属性的值、属性的分配、方法的调用、访问数组上下文(accessiong the context of arrays)、容器和索引器、逻辑和算术运算符、命名变量以及从Spring的IoC容器中根据名称检索对象。它也支持list投影、选择和一般的list聚合。

JDBC模块:该模块提供了一个JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。

ORM模块:该模块为流行的对象-关系映射API——JPA、JDO、Hibernate、iBatis等提供了一个交互层。利用ORM封装包,可以混合使用所有Spring提供的特性进行O/R映射。如前边提到的简单声明性事物管理。

二使用Spring管理Bean

spring核心容器的理论:spring核心容器就是一个超级大工厂,所有的对象(包括数据源等基础性资源)都会被当成spring核心容器管理的对象----spring把容器中的一切对象统称为Bean。只要是一个java类,spring就可以管理该java类,并将它当成Bean处理。<spring容器怎么知道管理哪些Bean,XML配置文件(也可用注解),spring使用xml配置文件来管理容器中bean,spring对xml配置文件的文件名没有任何要求,可以随意定义。

<bean id="person" class="org.crazyit.app.service.Person">
     <property name="axe" ref="axe"/>
</bean>
<bean id="axe" class="org.crazylit.app.service.Axe"/>
<bean id="win" class="javax.swing.JFrame"/>
<bean id="date" class="java.util.Date"/></span></span>

配置文件中的<bean>元素默认以反射方式来调用该类无参数的构造器。spring框架通过反射根据<bean>元素的class属性指定的类名创建了一个java对象,并以<bean>元素的id属性的值为key,将该对象放入spring容器中---这个java对象就成了spring容器中bean。在spring配置文件中配置bean时,class属性的值必须是bean实现类的完整类名(必须带包名),不能是接口、抽象类,否则无法使用spring无法使用反射创建该类的实例。

上面配置文件中还包括一个<property>子元素,<property>子元素,<property>子元素通常用于作为<bean>元素的子元素,它驱动spring在底层以反射执行一次setter方法。其中<property>的name属性值决定执行那个setter方法,而value或ref决定执行setter方法的传入参数。spring框架只要看到<property>子元素,就会在底层以反射方式执行一次setter。

1 如果传入参数是基本类型及其包装类、string等类型,则使用value属性指定传入参数。

2 如果以容器中其他bean作为传入参数,则使用ref属性指定传入参数。

<bean id="person" class="org.crazyit.app.service.Person"></span>

Spring框架解析该<bean>元素后将可以得到两个字符串,其中idStr的值为"date",classStr的值为“java.util.Date”。

三 spring的优点

1 低侵入式设计,代码的污染极地。

2 独立于各种应用服务器,基于spring框架的应用。

3 它的IoC容器降低了,业务对象体替换的复杂性,提高了组件之间的解耦。

4 spirng的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提高了更好的复用。

5 spring的ORM到DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。

6 spring的高度开放性,并不强制应用完全依赖于spring,开发者可自由选用spring框架的部分或全部。

四总结:

spring就是一个容器,可以管理任何的java类

时间: 2024-10-12 00:08:16

Spring---简介的相关文章

1.Spring简介

1. Spring是管理bean的容器 . Spring提供了多种容器实现,并分为两类 . Bean工厂(由org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供了基础的依赖注入支持. 应用上下文(由org.springframework.context.ApplicationContext接口定义)建立在Bean工厂基础之上,提供了系统架构服务. 2. BeanFactory:Bean工厂采用了工厂设计模式. 就是说,这个类负责

spring简介及常用术语

1.引入 在开发应用时常会遇到如下问题: 1)代码耦合性高: 2)对象之间依赖关系处理繁琐: 3)事务控制繁琐: 2.Spring简介 1)Spring概述 什么是Spring: ①Spring是一个轻量级的DI/Ioc和AOP容器框架.存在的意义是用于构建轻量级的J2EE应用: ②Spring以一种非侵入式的方式来管理你的代码,Spring提倡"最少侵入",这就意味着你可以在适当的时候安装或卸载Spring. 目的:解决企业应用开发的复杂性: 功能:使用基本的JavaBean代替EJ

细谈Spring(一)spring简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.  然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益. Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spr

spring学习(一)spring简介

Spring简介: Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程). 什么是框架: 框架:是能完成一定功能的半成品. 框架能够帮助我们完成的是:项目的整体框架.一些基础功能.规定了类和对象如何创建,如何协作等,当我们开发一个项目时,框架帮助我们完成了一部分功能,我们自己再完成一部分,那这个项目就完成了

Spring简介即Spring Ioc和Spring Di

Spring框架简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从S

使用SMM框架开发企业级应用-----Spring简介即Spring Ioc

Spring框架简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从S

Web框架:Spring简介

Spring是一个比较全面的框架,有很多功能.见下图: ApplicationContext ApplicationContext是Spring的核心类,保存了所有的配置.它有多种加载方式,例子如下: // 只能从/WEB-INF/classes加载配置文件 new ClassPathXmlApplicationContext("applicationContext.xml"); // 可以从任何文件加载配置 new FileSystemXmlApplicationContext(&q

spring简介

1.  spring介绍 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. struts 是 web 框架(jsp/action/actionfrom) hibernate 是 orm框架,处于持久层. spring 是容器框架,用于配置bean,并维护bean之间关系的框架 2.  spring的好处 ?  低侵入式设计,代码污染极低 ?   独立于各种应用服务器,基于Spring框架的应用,可以真正实现WriteOnce,Run Anywhere的承诺

Spring讲解一:Spring简介和入门

一.Spring是什么? Spring是一个开源框架, Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能. Spring是一个IOC(DI)和AOP容器框架. 二.具体描述Spring 轻量级:Spring是非侵入式的-基于Spring开发的应用中的对象可以不依赖Spring的API 依赖注入:(DI-Dependency injection.IOC) 面向切面编程:(AOP-aspect oriented programming

Spring1:Spring简介、环境搭建及源码下载

框架学习前言 这个模块是对于Java框架的学习,主要就是Spring.Hibernate.Ibatis,框架的学习我是这么想的: 1.简单介绍框架,主要是从网上借鉴一些重点 2.尽量说明清楚框架的使用方法以及细节点 3.尽量以自己的理解讲清楚Spring中的一些源代码 Spring是什么 Spring是一款为了解决企业应用开发的复杂性而创建的轻量级Java框架.框架的主要优势之一就是其分层架构,分层架构允许使用者选择哪一个组件,同时为J2EE应用程序开发提供集成的框架.从简单性.可测试性和松耦合