zoukankan      html  css  js  c++  java
  • 【原创】Spring 注入方式

    Spring 强烈推荐注解在构造器上,且对于不能为null的字段或者属性都用断言。

    1. 设值注入

      原理:通过setter方法注入

      XML配置方式:bean下的property标签,用value指定基本类型数据,用ref引用其他bean。

    2. 构造器注入

      原理:通过构造函数注入

      XML配置方式:bean下的constructor-arg标签,根据name/type/index确定依赖的位置(防止歧义),用value指定基本类型数据,用ref指定其他bean

    注:上述俩种方式可以用来注入集合或者Map类型数据,在property或者constructor-arg标签下用list/set/map子标签定义。

    3. 静态工厂/实例工厂注入

      原理:通过工厂的类方法或者工厂的实例方法来实现注入

      XML配置方式:静态工厂在bean下使用class指定工厂类,factory-method指定工厂方法。实例工厂首先需要将工厂类配置为一个bean,然后在bean下使用factory-bean指定实例工厂bean,用constructor-arg或者property指定参数。

      注:实际上这俩种方法是本质上也是通过set和构造器注入实现的,主要在于提供属性或者构造器参数的方式:一般是引用其他bean(不讨论基本数据类型),工厂方式注入则是引用工厂bean

    4. 属性值/字段/普通方法注入

    • 调用getter方法:使用PropertyPathFactoryBean

    • 调用类或对象的Filed值:使用FiledRetrievingFactoryBean

    • 调用普通方法:使用MethodInvokingFactoryBean

      参考:https://my.oschina.net/itblog/blog/206481

  • 相关阅读:
    【转】一个lucene的官网例子
    mongodb(回滚)
    mongodb( 实现join)
    JSON.stringify && JSON.parse
    js下的面向对象
    node(规则引擎)
    objective-c(内存管理)
    STM32F0xx_USART收发配置详细过程
    STM32F0xx_GPIO配置详细过程
    STM32F0_新建软件工程详细过程
  • 原文地址:https://www.cnblogs.com/pengyusong/p/6155724.html
Copyright © 2011-2022 走看看