Spring是一个开源框架,是为了解决企业应用程序开发复杂性而建立的。框架的主要优点之一就是其分层架构,分层架构容许您选择使用哪个组件,同时为J2EE应用程序开发提供集成的框架。java
Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了建立、配置和管理bean的方式。spring
组成Spring框架的每一个模块(或组件)均可以单独存在,或者与其余一个或多个模块联合实现。每一个模块的功能以下:数据库
核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。编程
Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下问信息。Spring上下文包括企业服务,例如:JNDI、EJB、电子邮件、国际化、校验和调度功能。架构
Spring AOP:经过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。因此,能够容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。经过使用Spring AOP,不用依赖EJB组件,就能够将声明性事务管理集成到应用程序中。app
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模块还简化了处理多部分请求以及将请求参数绑定到域对象的工做。this
Spring MVC模块:MVC框架是一个全功能的构建Web应用程序的MVC实现。经过策略接口,MVC框架编程为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。spa
参考文章:https://www.ibm.com/developerworks/cn/java/wa-spring1/
创一个Java Project工程,建立com.dx.spring.beans包,在包下建立类:
HelloSpring.java
package com.dx.spring.beans; public class HelloSpring { private String name; public HelloSpring() { } public void setName(String name) { this.name = name; } public void sayHello() { System.out.println("Hello " + this.name); } }
通常按照正常的调用方式,咱们须要建立一个MyClient.java
package com.dx.spring.beans; public class MyClient { public static void main(String[] args) { HelloSpring helloSpring = new HelloSpring(); helloSpring.setName("Spring"); helloSpring.sayHello(); } }
若是咱们使用了spring来管理HelloSpring,须要作如下工做:
一、在工程下根目录下建立一个lib文件夹,把spring必须的依赖包拷贝到lib下,并右键添加到引用中。
二、须要在src根目录下建立applicationContext.xml(Spring Bean Configuration File)文件,并编写配置文件信息:
<?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.xsd"> <bean name="helloSpring" class="com.dx.spring.beans.HelloSpring"> <property name="name" value="Spring"></property> </bean> </beans>
三、修改MyClient.java的调用方式:
package com.dx.spring.beans; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyClient { public static void main(String[] args) { ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloSpring helloSpring = (HelloSpring) cxt.getBean("helloSpring"); helloSpring.sayHello(); } }