spring框架简介

Spring框架
Spring框架是一个分层架构,由七个定义良好的模块组成
Spring模块构建在核心容器之上.核心容器定义了创建,配置和管理bean的方式
组成spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现
模块如下:
1--核心容器
        核心容器提供spring框架的基本功能,核心容器的主要组件是beanfactory,
       它是工厂模式的实现beanfactory使用控制翻转(IOC)模式将应用程序的配置和依赖性与实际的应用程序代码分开
   
2--Spring上下文
        是一个配置文件,该配置文件向spring框架提供上下文信息
   
3--Spring AOP
         通过配置管理特性,spring aop 模块直接将面向切面(方面)编程功能集成到spring框架中.
   
4--Spring DAO
   JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构管理异常处理和不同数据库供应商抛出的错误信息,极大的降低了异常代码数量
   
5--Spring ORM
   spring框架插入了若干个orm框架,从而提供了orm的对象关系工具,其中包括了Hibernate,Mybatis
   
6--Spring WEB
   web上下文模块,建立在应用程序上下文模块之上,为基于web的应用程序提供上下文.
   
7--Spring MVC
        该框架是一个全功能的构建web应用程序的MVC实现,通过策略接口,MVC框架变成高度可配置的.MVC容纳了大量视图技术.其中包括JSP,Velocity,POI
        
        
Spring 框架好处
  spring是最大的工厂
  spring负责业务逻辑组件的框架和生成,并管理业务逻辑组件的生命周期
  spring可以生产所有的实例,从控制器,业务逻辑组件,持久层组件
  
----------------------------------------------------------------------------------------------------------------
Spring特点
  1--降低了组件之间的耦合性,实现了软件各个层之间的解耦.
  2--可以使用spring容器提供很多的服务, 例如:事务管理,消息服务
  3--容器提供单例模式支持
  4--容器提供AOP技术,利用他很容易实现 如:权限拦截,运行期监控
  5--容器提供了众多的辅助类,能加快应用的开发 如:org.springframework.jdbc.core.JDBCTemplate等
  6--spring对主流的应用框架提供了集成支持,例如:hibernate,JPA,Struts,Mybatis(IBatis)
  7--spring属于低侵入式设计,代码污染度极低
  8--独立于各种应用服务器
  9--spring的DI(注入)机制降低了业务对象替换的复杂性

  10--spring的高度开放性,并不强制应用完全依赖于spring,开发者可以自由选择spring的部分或者全部

----------------------------------------------------------------------------------------------------------------

spring的核心技术
1--反向控制或者控制反转(inversion of control IOC)
        当一个对象需要另外一个对象时,传统设计过程中,需要通过调用者来创建被调用者的对象实例.
       但在spring中,创建被调用者的工作不在由调用者来完成,而是由spring IOC容器来完成.这种设计模式被称为反向控制,也叫做依赖注入
   
   DI(dependency injection) 依赖注入
        就是组件之间的依赖关系由容器在运行期决定的,形象来说,就是由容器动态的将某种依赖关系注入到组件中..
        容器就是  .xml配置文件
 
        通过使用DI(依赖注入),当组件之间的关系发生变化时,我们只需要修改系统中相关的配置文件,不需要改动我们的代码,
        这就减少了我们的程序维护量,又提高了我们程序的可重用性
        
2--手动装配
   a:Bean工厂(BeanFactory )
              使用org.springframework.beans.factory.BeanFactory接口来获得Bean对象实例.
              在spring中,有很多BeanFactory接口的实现,但是最常用的是org.springframework.beans.factory.xml.XmlBeanFactory
              通过这个类可以从XML配置文件中读取配置文件中Bean的装配信息
              并在spring容器中建立相应的javabean对象实例,并返回该实例.
              
              
             要想建立一个xmlbeanfactory对象实例,需要将配置文件通过FileSystemResource对象传入XmlBeanFactory类的构造器
            并通过BeanFactory的getBean方法获得Bean实例
            例如:
      //装配applicationContext.xml文件     
     BeanFactory factory = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));
     
     //获得被装配的HelloWorld对象的实例
     HelloWorld helloWorld = (HelloWorld)factory.getBean("helloWorld");
     helloWorld.sayHelloWorld();
     
    b:应用上下文(ApplicationContext)
                 通过org.springframework.context.ApplicationContext接口来装配Bean
                  在spring中有两种实现:
      FileSystemXmlApplicationContext:通过绝对或相对路径指定xml配置文件,并装配xml文件的配置信息.
      ClassPathXmlApplicationContext:从类路径中搜索xml配置文件.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值