• JavaSpring【三、Bean】


    配置项

    • id bean的标识
    • class bean的类全名
    • scope bean的作用域
    • constructor-arg 构造注入
    • properties 设值注入
    • autowire 装配模式
    • lazy-init 是否懒加载
    • init-method 初始化方式
    • destroy-method 销毁方法

    作用域scope

    • singleton 单例,一个bean容器中只存在一份,若有多个容器则有多个实例
    • prototype 原型模式,每次请求创建新实例,destroy不生效
    • request 每个请求创建一个
    • session 当前session内有效
    • global session 单点情景下,跨系统session
      测试singleton和prototype


    生命周期

    • 定义(实现一个类)
    • 初始化
      两种方式
      1、【常用】实现org.springframework.beans.factory.InitializingBean接口,并覆盖afterPropertiesSet()方法

    2、配置init-method


    3、全局配置,在beans中配置default-init-method(当某个bean设置了1、2种方式,则全局配置不生效)

    • 使用
    • 销毁
      1、【常用】实现org.springframework.beans.factory.DisposableBean接口,并覆盖destroy()方法

    2、配置destroy-method

    3、全局配置,在beans中配置default-destroy-method(当某个bean设置了1、2种方式,则全局配置不生效)

    自动装配Aware

    spring提供了以Aware结尾的接口,实现后可在bean初始化后获取相应资源,可以对其进行操作(因为资源较核心,操作须慎重)
    类实现ApplicationContextAware接口,覆盖setApplicationContext方法

    配置xml

    获取该实例,实现aware接口的类setApplicationContext方法会优先执行,且和使用时的实例是同一个

    AutoAwaring

    • No 什么都不做
    • byName 通过名称,配置后,属性可不用配置,会自动根据名称寻找相应的bean加载(一定要配置bean的id)
    • byType 通过类型(class)匹配对应的bean,若未找到,则什么都不做
    • Constructor 与byType类似,区别在于它应用与构造器参数,若未找到会异常
      Demo
      1、只配置bean

      2、Test类

      3、Service类

      4、Dao类

      5、RunTest

    Resources&ResourceLoader

    Resource针对于资源的统一接口

    • UrlResource Url对应的资源,根据一个URL地址即可构建
    • ClassPathResource 类路径下的资源文件
    • FileSystemResource 文件系统里的资源文件
    • ServletContextResource 用于访问Servlet环境下的资源
    • InputStreamResource 输入流封装资源
    • ByteArrayResource 字节数组封装资源

    ResourceLoader

    所有的applicationContext都会实现该接口
    前缀:

    • classpath 从classpath中加载
    • file 从文件系统中加载
    • http 从连接中加载
    • (none)
  • 相关阅读:
    JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建
    BZOJ1434:[ZJOI2009]染色游戏(博弈论)
    BZOJ4241:历史研究(回滚莫队)
    BZOJ2281:[SDOI2011]黑白棋(博弈论,组合数学,DP)
    BZOJ1188:[HNOI2007]分裂游戏(博弈论)
    BZOJ1022:[SHOI2008]小约翰的游戏John(博弈论)
    BZOJ1406:[AHOI2007]密码箱(数论)
    BZOJ3270:博物馆(高斯消元)
    CF993E:Nikita and Order Statistics(FFT)
    HDU4609:3-idiots(FFT)
  • 原文地址:https://www.cnblogs.com/shanelau/p/6814046.html
Copyright © 2020-2023  润新知