zoukankan      html  css  js  c++  java
  • springbean补充:关于bean的属性

    在spring之前写过了springbean的一些基础属性:,

    这里主要是对bean做一个详细的说明:

    关于bean的设值注入:

    需要先添加自定义标签:

     

    关于延迟加载

    在之前的java高级特性中,写过java单例模式 java单例模式的创建有两种方式

    懒汉模式:需要用时才创建对象

    饿汉模式:加载时就创建好了对象

    在spring中,通过spring管理的bean对象,默认创建的就是单例模式,spring创建对象单例模式与原型模式在之前已经写过了, 就不再介绍,这里主要介绍spring中的延迟加载

    关于实体的getset方法等不在详细描述,只截关键的图:

    运行结果如下:

    可以看出,在spring配置文件加载过程中,就创建好了学生的对象,那么使用延迟加载后:

    在学生对象的类上添加注解Lazy,开启延迟加载,重新运行之前的方法:

    可以很轻松的看出,spring默认的单例创建模式,是饿汉模式(即加载配置文件时,就将需要创建的bean对象创建好了,需要用时直接用)而添加了延迟加载的注解后,就变成了懒汉模式,即在加载spring时,类上有@Lazy注解的类表明是延迟加载,就不创建该对象了,当需要使用时,在创建对象。

    关于构造方法自动装配

    自动装配:@AutoWired,我们点开它的方法可以看到

     

    @AutoWired可以使用在字段,属性,方法,构造方法等上面,我们平时使用的都是在字段上,这里写一下用在构造方法上时,

    前期准备:一个Display接口,有一个show方法,LgDisplay和SanDisplay两个类实现Display接口,在定义一个cpu类,有一个work的方法
    定义一个computer类:

    按照以往我们应该是在字段上进行自动装配:

    当类只有一个有参构造方法时,就可以自动装配构造方法。

    测试:

  • 相关阅读:
    Pymsql
    MySQL基础操/下
    MySQL基础操作
    前端学习之jquery/下
    前端学习之jquery
    Python之异常处理
    Python之模块和包导入
    Python之模块
    Python之面向对象上下文管理协议
    Python之面向对象slots与迭代器协议
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/11289102.html
Copyright © 2011-2022 走看看