Spring之bean定义

Spring以IoC、AOP为主要思想,其中IoC,Inversion of Control 指控制反转或反向控制。在Spring框架中我们通过配置创建类对象,由Spring在运行阶段实例化、组装对象。AOP,Aspect Oriented Programming,面向切面编程,其思想是在执行某些代码前执行另外的代码,使程序更灵活、扩展性更好,可以随便地添加、删除某些功能。Servlet中的Filter便是一种AOP思想的实现。

Bean标签的常用属性

(1)id属性:用于指定配置对象的名称,不能包含特殊符号。
(2)class属性:创建对象所在类的全路径。
(3)name属性:功能同id属性一致。但是在name属性值中可以包含特殊符号。
(4)scope属性
    singleton:默认值,单例
    单例模式下,在程序下只有一个实例。非单态模式下,每次请求该Bean,都会生成一个新的对象。
    prototype:多例
    request:创建对象后将对象存放到request域
    session:创建对象后将对象存放到session域
    globalSession:创建对象后将对象存放到globalSession域
init-method="init" 始化调用了init方法
destroy-method="destroy" 销毁时调用了init方法

spring Bean的作用域:scope="singleton"(默认,单例,生成一个实例)
单例模式,默认在程序初始化的时候实例化(lazy-init=”false”)
spring Bean的作用域:scope="prototype"(多线程, 生成多个实例)
prototype:getBean的时候才是实例化
lazy-init 只对单例模式起作用,对prototype不起作用(因为prototype默认就不是程序初始化的时候实例化的)
<bean id="gardenerClient" class="com.minipay.gamesdk.standalone.service.GardenerClientService"  init-method="init" scope="singleton">
     <property name="mainBusinessId" value="3"/>
     <property name="gardenerConfigService" ref="gardenerConfigService"></property>
     </bean>
------------------------------------------------------------------------------
name是指GardenerClientService类中的参数,也既GardenerClientService类中有一个属性名叫mainBusinessId的属性,而value是为这个属性名为mainBusinessId的指定值,把它当作参数传进GardenerClientService中

name是指GardenerClientService类中的参数,也既GardenerClientService类中有一个GardenerConfigService类型名叫gardenerConfigService的对象,而ref是当前xml文件中叫做gardenerConfigService的这个bean,把它当作参数传进GardenerConfigService中

--------------------------------------------------------------------------
ref属性:查找当前配置文件里的bean

ref标签有3种属性
<ref bean=""/>  :查找全局中的bean。即可以查找其他xml配置文件的bean,优先从当前配置文件寻找
<ref local=""/>   :查找当前配置文件中bean,等同于ref属性。local属性值必须同目标bean的id属性值相同
<ref parent=""/>:指定其依赖的父JavaBean定义
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 说明:本文主要内容来自慕课网。配合视频食用口味更佳。主要是顺着已经学习的视频顺序总结一遍,以深化理解和方便日后复习...
    stoneyang94阅读 859评论 3 5
  • 文章作者:Tyan博客:noahsnail.com 2.Introduction to the Spring Fr...
    SnailTyan阅读 5,428评论 7 56
  • spring源码分析(一) 目录一、Spring概述二、一切从Bean开始--2.1、Spring设计伊始--2....
    毛子果阅读 376评论 1 0
  • 跑出来的简舒甜,第一个想法就是找和自己在一起3年的穆沥晨,只有一个想法,就是带她走,哪都好,她不要再待在这里了 早...
    潘胖儿阅读 697评论 0 0
  • |必然停止 在四月的清晨醒来 阳光比昨日的多了一倍 我静坐窗前 呼吸 用一杯白开水漱口 听不见周边的任何喧嚣 翻出...
    三良张阅读 296评论 0 0