Spring

  1. 什么是Spring
    Spring是一个开源框架,是为解决企业应用开发的复杂性而创建的。
    Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中收益
    它是一个容器框架,用来装javabean(java对象),中国层框架可以起一个连接作用,比如说把Struts和hibernate粘合在一起运行。简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
    在实际开发中,通常服务器端采用三层体系架构,分别为表示层(web)、业务逻辑层(service)、持久层(Dao),Spring对每一层都提供了技术支持
    表示层——在表示层提供与Struts等框架的整合
    业务逻辑层——在业务逻辑层可以管理事物、记录日志等
    持久层——在持久层可以整合Hibernate、JdbcTemplate等技术

  2. Spring的优点
    (1)使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑
    (2)可以提供众多服务,事物管理,WS等
    (3)AOP的很好支持,方便面向切面的编程
    (4)对主流的框架提供了很好的集成支持,如hibernate,Struts2,JPA等
    (5)Spring DI机制降低了业务对象替换的复杂性
    (6)Spring属于低侵入,代码污染极低
    (7)Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或者全部

  3. Spring的体系结构
    Spring采用了分层的架构,可分为20个模块
    (1)核心模块(CoreContainer)
    Spring核心模块包含有Core、Beans、Context和Expression Language四个小模块。其中,Core和Beans是整个Spring框架的基础部分,也是Spring的核心依赖注入IOC与DI的最基本实现,Spring的其他模块大多依赖这两个功能
    spring-core:其他模块的基础核心,包含Spring框架的核心工具类,Spring其他模块都要使用该包里面的类
    spring-beans:Spring定义bean的支持,负责访问配置文件、创建和管理bean,支持依赖注入和控制反转的相关操作。bean工厂类就在这个jar包中
    spring-context:spring运行时容器,在Core和Beans的基础上,提供对Spring的上下文支持,ApplicationContext是该包的关键,通过它,可以方便快捷的取出依赖注入的Bean
    spring-expresssion:spring表达式语言,帮助spring在运行时查询和操作对象。支持设置/获取对象的属性值,方法的调用
    (2)AOP模块
    spring-aop:对于代理AOP的支持
    spring-Aspects:对于AspectJ的AOP支持
    (3)web模块
    spring-web:提供基础的web功能,在web项目中提供Spring的容器
    spring-webmvc:提供基于Servlet的SpringMVC
    spring-websocket:提供websocket功能
    spring-webmvc-portlet:提供porlet的支持
    (4)数据库模块
    spring-jdbc:提供jdbc访问数据库的支持,包含了Spring对数据库访问操作进行封装的所有类,它提供了一个JDBC的抽象层,从而实现对其他厂商的支持
    spring-tx:提供对事物的支持
    spring-orm:提供对象关系-映射的支持,使得spring可以方便的整合其他第三方ORM库如JAP,Mybatis、Hibernate等
    spring-xml:提供对象xml映射支持
    spring-jms:提供对Java消息服务的支持

  4. spring的核心容器
    spring容器会负责控制程序之间的关系,而不是由程序代码控制。spring为我们提供了两种核心容器,分别为BeanFactory和ApplicationContext,
    BeanFactory:创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理,其加载配置信息的语法如下:

BeanFactory beanFactory=new XmlBeanFacoty(new FileSystemResource("F:/applicationContext.xml"));
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值