Spring学习(1)

来源:互联网 发布:微课制作软件 编辑:程序博客网 时间:2024/06/06 11:47
 一.Spring是什么?
   Spring是一个轻量级的java开源框架。主要用于java应用开发。Spring的核心是控制反转(IoC)和面向切面(AOP)
 二.Spring的好处?
   a.Spring 轻量级开源框架,基本版本大约2MB
   b.控制反转,Spring通过控制反转实现了松散耦合,提高了组件之间的解耦。
   c.面向切面的编程(AOP),Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开(支持将一些通用任务
     如安全、事务、日志等进行集中式管理,从提高代码的更好的复用)
   d.Spring 的ORM 和DAO提供了与第三方持久层框架的良好的整合,并简化了底层的数据库访问。
 三.Spring的特点
   方便解耦,简化开发
   AOP编程的支持
   声明式事务的支持
   方便程序的测试
   方便集成各种优秀框架
   
 四.Spring 7大模块
  Spring框架是一个分层架构,由7个定义良好的模块组成。
  Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式。
  
  各个模块可以单独存在,功能如下:
  1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的
  主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 
  模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。
  Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
   3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集
   成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。
   Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 
   Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
   4、Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常
   处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地
   降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的
   异常遵从通用的 DAO 异常层次结构。
   5、Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,
   其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从 Spring 的通用事务和 DAO 
   异常层次结构。
   7、Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。
   
五. BeanFactory – BeanFactory 实现举例。
Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离。


六 .什么是Spring IOC 容器?
Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。


七. 有哪些不同类型的IOC(依赖注入)方式?
构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对
其他类的依赖。
Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,
调用该bean的setter方法,即实现了基于setter的依赖注入。


八. 什么是Spring beans?
Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中
配置的元数据创建。比如,以XML文件中<bean/> 的形式定义。


Spring 框架定义的beans都是单件beans。在bean tag中有个属性”singleton”,如果它被赋为 TRUE,bean 就是单件,


否则就是一个 prototype bean。默认是TRUE,所以所有在Spring框架中的beans 缺省都是单 件。




九.你怎样定义类的作用域? 
当定义一个<bean> 在Spring里,我们还能给这个bean声明一个作用域。它可以通过bean 定义中的scope属性来定 义。如,
当Spring要在需要的时候每次生产一个新的bean实例,bean的scope属性被指定为prototype。另一方面,一个bean每次 
使用的时候必须返回同一个实例,这个bean的scope 属性 必须设为 singleton。


缺省的Spring bean 的作用域是Singleton.


参看文档:http://baike.baidu.com/link?url=mduJP9dOfuxJ4fdXFH_J_J7oeXTuoJpY7gno-skE1kjLTk1tL4mdR004ZHqq5A3ZLUalrq-IJP0rmtKC1EUJhgSAhZlW4ZRr4juwJjZimuK#8
  http://www.open-open.com/lib/view/open1417400768690.html
0 0
原创粉丝点击