Spring框架基本知识

Spring框架


Spring框架式分层架构由七个定义良好的模块组成
 Spring  模块构建在核心容器之上,核心容器定义了创建配置和管理bean 的方式,组成spring框架的每个模块或组件都可以单独存在,或者与
  其他一个或多个模块联合实现
   模块如下:
    1--核心容器 
      核心容器提供Spring框架 的基本功能,核心容器的主要组件是beanfactory,shi 是工厂模式的实现,beanfactory使用控制反转(ioc)
      模式将应用程序的配置和依赖性与实际应用程序代码分开.
      2--Spring上下文,
      是一个配置文件,向spring框架提供上下文信息,
      
      3--Spring Aop通过配置管理特性,Spring的aop模块直接将面向切面(方向)编程功能集成到Spring框架中
      
      4--Spring Dao
       jdbcdao抽象层 提供有意义的异常层次结构,可用该结构管理异常处理和不同数据库供应商抛出的错误信息,极大地降低了异常代码数量
       
       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是了最大的工厂
   负责业务逻辑组件的创建和生成,并管理业务逻辑组件的生命周期
   Springle可以生产所有的实例,从控制器,业务逻辑组件,持久层组件
   
   Spring特点
   1--降低了组件之间的耦合性,实现了软件各个层之间的解耦.
   2--可以使用Spring容器提供很多的服务,如:事物管理,消息服务
   3--容器提供单例模式支持
   4--容器提供了aop技术,利用它很容易实现如权限拦截,运行期监控
   5--容器提供了众多的辅助类,能加快应用的开发(org.Springframeeork.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 ICO容器完成.这种设计模式称之为反向控制,也叫依赖注入
    
    DI  dependency injection 依赖注入
      就是组件之间的依赖关系由容器在运行期决定,形象的来说,就是由容器动态的将某种依赖关系注入到组件中
      容器就是.xml配置文件
      通过使用DI(依赖注入),当组件之间关系发生变化时,我们只需要修稿系统中相关配置文件
      不需要改动代码,减少了我们的程序维护量,又提高了我们程序的可重用性
    2--手动装配
    bean工厂:beanfactory 
    使用org.springframework.beans.factory.BeanFactory接口来获得bean对象实例
    在spring中,有很多的beanfactory接口的实现最常用的是org.springframework.beans.factory.xml.XmlBeanFactory,通过这个类可以从xml配置文件中读取
    配置文件中的bean装配信息并在spring容器中建立相应的javabean对象并返回该实例.
    
    要想建立一个xmlbeanfactory对象实例,需要将配置文件通过filesystemresource对象传入xmlbeanfactroy类的构造器
    并通过beanfactory的getbean方法获得bean实例
    
   例如
   
   //装配applicationContext.xml文件
 BeanFactory factory=new  XmlBeanFactory(new FileSystemResource("applicationContext.xml"));
 //获得被装配的HelloWorld对象实例
  HelloWorld helloworld=(HelloWorld)factory.getBean ("hello world");
  helloworld.sayHelloWorld();
  
   
   应用上下文(ApplicationContext)
   通过org.springframework.context.applicationContext接口来装配bean
   在spring中有两种实现:
   FileSystemXmlApplicationContext:通过绝对或者相对路径制定XML配置文件并装配xml文件的配置信息
   ClassPathXmlApplicationContext:菜类路径中搜索xml配置文件.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值