java的Spring 框架概述

◆简介

意图:解决公司运用开发的复杂性

功用:运用根本的JavaBean替代EJB,并供给了更多的公司运用功用

规模:任何Java运用

Spring 结构是一个分层架构,由 7 个界说良好的模块构成号码归属地查询。Spring 模块构建在中心容器之上,中心容器界说了创建、装备和办理 bean 的办法。

构成 Spring 结构的每个模块(或组件)都能够独自存在关键词挖掘工具,或许与其他一个或多个模块联合完结。每个模块的功用如下:

• 中心容器:中心容器供给 Spring 结构的根本功用。中心容器的首要组件是 BeanFactory,它是工厂形式的完结。BeanFactory 运用操控回转 (IOC) 形式将运用程序的装备和依靠性标准与实际的运用程序代码分开。

• Spring 上下文:Spring 上下文是一个装备文件,向 Spring 结构供给上下文信息。Spring 上下文包含公司效劳,例如 JNDI、EJB、电子邮件、国际化、校验和调度功用。

• Spring AOP:经过装备办理特性,Spring AOP 模块直接将面向方面的编程功用集成到了 Spring 结构中。所以,能够很容易地使 Spring 结构办理的任何目标支撑 AOP。Spring AOP 模块为根据 Spring 的运用程序中的目标供给了业务办理效劳。经过运用 Spring AOP,不用依靠 EJB 组件,就能够将声明性业务办理集成到运用程序中。

• Spring DAO:JDBC DAO 笼统层供给了有意义的反常层次结构,可用该结构来办理反常处置和不一样数据库供货商抛出的错误音讯。反常层次结构简化了错误处置,而且极大地下降了需求编写的反常代码数量(例如翻开和关闭衔接)。Spring DAO 的面向 JDBC 的反常遵照通用的 DAO 反常层次结构。

• Spring ORM:Spring 结构插入了若干个 ORM 结构,然后供给了 ORM 的目标联系东西,其间包含 JDO、Hibernate 和 iBatis SQL Map。一切这些都遵照 Spring 的通用业务和 DAO 反常层次结构。

• Spring Web 模块:Web 上下文模块树立在运用程序上下文模块之上,为根据 Web 的运用程序供给了上下文。所以,Spring 结构支撑与 Jakarta Struts 的集成。Web 模块还简化了处置多有些恳求以及将恳求参数绑定到域目标的作业。

• Spring MVC 结构:MVC 结构是一个全功用的构建 Web 运用程序的 MVC 完结。经过战略接口,MVC 结构变变成高度可装备的,MVC 包容了许多视图技能,其间包含 JSP、Velocity、Tiles、iText 和 POI。

Spring 结构的功用能够用在任何 J2EE 效劳器中,大多数功用也适用于不受办理的环境。Spring 的中心要点是:支撑不绑定到特定 J2EE 效劳的可重用业务和数据访问目标。毫无疑问,这样的目标能够在不一样 J2EE 环境 (Web 或 EJB)、独立运用程序、测验环境之间重用。

◆Spring作为全方位的运用程序结构(Framework)

◆术语描绘

① 轻量级(Lightweight)。Spring中心包容量不到1MB的巨细,能够在许多小型设备中运用Spring。

② 非侵入性(No intrusive)。增强运用程序组件的可重用性,削减对结构的依靠。

③ 容器(Container)。根据装备文件自动生成目标及特点等,不用编写任何代码来产生目标。

④ Inversion of Control(IOC)与Dependency Injection(DI)。IOC意图就是依靠于笼统;目标之间的联系由容器根据装备文件将依靠写入指定的目标中。

⑤ AOP(Aspect-oriented programming)。根据署理及拦截器的机制,与Spring IOC 联系,选用运行时Weaving办法在Spring结构的运用程序中运用各种声明式体系级效劳。

⑥ 耐久层(Persistent)。Spring供给DAO、编程业务与声明式业务,关于ORM东西(Hibernate、iBATIS)的联系及运用上简化。

⑦ JavaEE效劳。能够运用JavaEE标准标准供给的各项效劳,并无缝联系。

◆Spring结构的优势

① 使J2EE易用和推进好编程习气。

Spring不重新开发已有的东西。因而,在Spring中你将发现没有日志记载的包,没有衔接池,没有散布业务调度。这些均有开源项目供给(例如Commons Logging 用来做一切的日志输出,或Commons DBCP用来作数据衔接池),或由你的运用程序效劳器供给。由于相同的的原因,咱们没有供给O/R mapping层,对此,已有好的解决办法如Hibernate和JPA。

② 使已存在的技能愈加易用。

例如,虽然咱们没有底层业务协调处置,但咱们供给了一个笼统层覆盖了JTA或任何其他的业务战略。

③ 没有直接和其他的开源项目竞赛。

例如,许多开发人员,咱们从来没有为Struts快乐过,而且感到在MVC结构中还有改善的地步。在某些范畴,例如轻量级的IoC容器和AOP结构,Spring有直接的竞赛,但是在这些范畴还没有现已较为盛行的解决方案。(Spring在这些区域是开路先锋。)

④ Spring在运用效劳器之间是可移植的。确保可移植性老是一项挑战,但是Spring防止任何特定渠道或非标准化,而且支撑在WebLogic,Tomcat,Resin,JBoss,WebSphere和其他的运用效劳器上的用户。

⑤ 便利解耦,简化开发

经过Spring供给的IoC容器,咱们能够将目标之间的依靠联系交由Spring进行操控,防止硬编码所造成的过度程序耦合。有了Spring,用户不用再为单实例形式类、特点文件解析等这些很底层的需求编写代码,能够更专心于上层的运用。

⑥ AOP编程的支撑。

经过Spring供给的AOP功用,便利进行面向切面的编程,许多不容易用传统OOP完结的功用能够经过AOP轻松敷衍。

⑦ 声明式业务的支撑

  在Spring中,咱们能够从单调愁闷的业务办理代码中解脱出来,经过声明式办法灵敏地进行业务的办理,提高开发效率和质量。

⑧ 便利程序的测验

  能够用非容器依靠的编程办法进行简直一切的测验作业,在Spring里,测验不再是贵重的操作,而是顺手可做的工作。

⑨ 便利集成各种优异结构

  Spring不排斥各种优异的开源结构,相反,Spring能够下降各种结构的运用难度,Spring供给了对各种优异结构(如Struts,Hibernate)等的直接支撑。

⑩ 下降Java EE API的运用难度

Spring对许多难用的Java EE API(如JDBC,JavaMail,长途调用等)供给了一个薄薄的封装层,经过Spring的简易封装,这些Java EE API的运用难度大为下降。

◆下载、设置Spring

http://springframework.org/

◆预备Spring设计环境

◆编写第一个Spring程序

HelloWorld接口:

Java代码  保藏代码

/**

*

* @Copyright(C),2009-2010 SISE Java Team.

* @Author:easinchu

* @Email:[email protected]

* @Description:

*/

public interface HelloWorld {

public void sayHello();

}

HelloWorldBean完结类:

Java代码  保藏代码

/**

*

* @Copyright(C),2009-2010 SISE Java Team.

* @Author:easinchu

* @Email:[email protected]

* @Description:

*/

public class HelloWorldBean implements HelloWorld{

private String helloWorld;

public void setHelloWorld(String helloWorld) {

this.helloWorld = helloWorld;

}

public void sayHello() {

System.out.println(helloWorld);

}

}

Spring XML装备文件ioc-config.xml:

Xml代码  保藏代码

Hello,Welcome To Spring World!

测验类:

Java代码  保藏代码

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;

/**

*

*@Copyright(C),2009-2010 SISE Java Team.

*@Author:easinchu

*@Email:[email protected]

*@Description:选用Spring的BeanFactory结构IoC容器.

*/

public class FirstSpringDemo {

public static void main(String []args) {

//-----------BeanFactory IoC容器---------------------//

//从classpath途径上装载XML的装备信息

Resource resource = new ClassPathResource("ioc-config.xml");

//实例化IOC容器,此时容器并未实例化beans-config.xml所界说的各个受管bean.

BeanFactory factory = new XmlBeanFactory(resource);

/

//获取受管bean

HelloWorld hello = (HelloWorld)factory.getBean("helloWorldBean");

hello.sayHello();

}

}

过程小结

①利用XmlBeanFactory读取xml装备文件并树立BeanFactory实例

②BeanFactory根据装备文件完结依靠写入

③经过getBean()办法指定Bean称号获得Bean实例

时间: 2024-10-07 06:54:39

java的Spring 框架概述的相关文章

Java三大主流框架概述

Java三大主流框架概述 邮箱:[email protected] Struts.Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案.但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的JSP.负责流程逻辑控制的Servlet以及负责数据封装的Javabean.但是这种结构仍然存

Spring 框架概述

◆简介 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现.每个模块的功能如下: • 核心容器:核心容器提供 Spring 框架的基本功能.核心容器的主要组件是 BeanFac

Spring框架概述

Spring是最流行的Java企业级应用开发框架,全球数以百万的开发者在使用Spring框架创建高性能.易测试.可重用的代码. Spring框架的核心特性可以应用于任何Java应用,但扩展的JavaEE平台上可以构建Web应用.Spring框架的目标是通过POJO编程模型,使J2EE的开发更容易,促进良好的编程实践. POJO(Plain Old Java Object),是这样的一种“纯粹的”JavaBean,在它里面除了JavaBean规范的方法和属性没有别的东西,即private属性以及对

java:Spring框架1(基本配置,简单基础代码实现)

1.基本配置: 步骤一:新建项目并添加spring依赖的jar文件和commons-logging.xx.jar: 步骤二:编写实体类,DAO及其实现类,Service及其实现类; 步骤三:在src下新建配置文件applicationContext.xml,并配置bean节点和property: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfr

JAVA总结--Spring框架

一.Spring简介 Spring是一个开源框架,是一个分层架构: Spring目标是遵循一系列的接口标准,这样的好处是只需要简单的Java对象或者Javabean就能进行Java EE开发,这样开发的入门.测试.应用部署都得到了简化: Spring有7个核心模块,Core(核心容器).AOP(切面).DAO(事务支持).ORM(O\R MAPPING封装).Web(上下文.服务于Web请求等).Web MVC(MVC框架): Inversion of Control(控制反转).Depende

Java SSH主流框架概述及java相关技术推荐!

转载于豆瓣,观山居士(http://www.douban.com/note/320140839/). 你应该掌握的Java技术当我们在技术线路中选择了Java,也就选择了你必须持续学习,经常关注最新的技术,了解它们,看是否适合你的需要,然后学习使用它们.Java基础:◆Java原理和使用,包括基本的语言.语法知识和API◆JSP+Servlet,Java Web开发的基础这方面可以关注Java开发基础专题.服务器:◆WebLogic的原理.使用和配置◆Tomcat:轻量的JavaWeb容器,和W

Java多线程—Executor框架概述

1. 任务Task相关的接口与类 1.1 Runnable 表示一个可被执行的命令,通常用于在不同线程中执行任务. package java.lang; public interface Runnable { public void run(); } 1.2 Callable<V> 表示一个有返回结果的任务 package java.util.concurrent; public interface Callable<V> { V call() throws Exception;

详解Java的Spring框架中的注解的用法

转载:http://www.jb51.net/article/75460.htm 1. 使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现: class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } ... } 配置文件: <bean id=&qu

认识Java Spring 框架

谈起Java  开发总是离不开各种框架,当我们在使用Java初期就被各种框架的包围着,而.Net开发就比较简单了,从WinForm到Asp.Net再到APS.Net Mvc,一气呵成,开发起来那叫一个爽,但是也带来了一些问题,比如,.Net 开发者使用微软已经封装好的类库,程序员在日常的开发过程中,都不知道自己所使用的类库有多么精妙,但是Java就不一样了,它是完全开源的,可以按照自己的需求加载适合的类库,作为开发者就可以知道大牛们写的牛叉代码,也可以看到代码的重构的美妙之处.今天我们就来谈一谈