美文网首页轻量化框架技术
第二章:Spring中的bean

第二章:Spring中的bean

作者: Y_Jaaao | 来源:发表于2020-04-01 08:03 被阅读0次

    什么是实例化

    • Vehicle v1 = new Vehicle();
      通常把这条语句的动作称之为创建一个对象,也就是实例化,其实,它包含了四个动作。
      1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。
      2)末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。
      3)左边的“Vehicle v1”创建了一个Vehicle类引用变量,所谓Vehicle类引用,就是以后可以用来指向Vehicle对象的对象引用。
      4)“=”操作符使对象引用指向刚创建的那个Vehicle对象。

    Bean的配置

    • Spring支持2种格式的配置文件:Properties文件、xml文件(最常使用)。通过xml文件来注册并管理bean之间的依赖关系

    bean的实例化

    • 在Spring中,要想使用容器中的bean,就要实例化bean。实例化bean的3种方式:
      1.构造器实例化(最常用):无参构造方法 构造器实例化1.JPG 构造器实例化2.JPG

    2.静态工厂方式实例化:要求自己创建一个静态工厂的方法来创建bean的实例

    静态工厂方式实例化1.JPG 静态工厂方式实例化2.JPG 静态工厂方式实例化3.JPG

    3.实例工厂方式实例化:直接创建bean实例的方法。在xml配置文件中,通过factory-bean属性配置一个实例工厂,然后使用factory-method属性确定使用工厂中哪个方法。

    实例工厂方式实例化1.JPG 实例工厂方式实例化2.JPG 实例工厂方式实例化3.JPG

    bean的作用域

    bean的作用域.JPG
    1.singleton作用域(单例)(Spring容器默认的作用域):当bean的作用域为singleton时,Spring容器只会存在一个共享的bean实例。singleton作用域对于无会话状态的bean(如Dao组件、Service组件)来说,是最理想的选择。 singleton.JPG
    singleton.JPG
    2.prototype作用域(原型):对需要保持会话状态的bean(如struts2的Action类)应该使用prototype作用域。在使用该作用域时,spring容器会为每个对该bean的请求创建一个新的实例
    • 要将Bean定义为prototype作用域,只需在配置文件中将<bean>元素的scope属性值设置为prototype即可


      prototype.JPG

    bean的生命周期

    • 常在bean的postinitiation(初始化后)和predestruction(销毁前)执行一些相关操作 生命周期.JPG
      Life.JPG
      xml.JPG

    LifeTest.JPG

    bean的装配方式(即bean依赖注入的方式)

    • 1. 基于xml的装配
      (1) 设值注入
      设值注入.JPG

    (2) 构造注入


    构造注入.JPG
    user.JPG
    xml.JPG
    test.JPG
    • 2. 基于注释(Annotation)的装配(最常用)
      Annotation.JPG
      UserDao.JPG
      Impl.JPG
      UserService.JPG
      ServiceImpl.JPG
      Controller.JPG
      xml.JPG
      test.JPG
    • 3. 自动装配
      自动装配.JPG

    相关文章

      网友评论

        本文标题:第二章:Spring中的bean

        本文链接:https://www.haomeiwen.com/subject/ljzzyhtx.html