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

  • 相关阅读:
    Oracle数据类型再探:plsql能建表时能用的数据类型
    数据库中的不同类型
    数据库类型研究
    代码块,静态变量,静态代码块,运算符优先级
    JAVA运算符
    Java多线程详解
    JAVA对象序列化(Serializable、ObjectOutputStream、ObjectInputStream、 transient)
    java的IO详解
    Java死锁
    Java重载、覆写、this、super、抽象类、接口
  • 原文地址:https://www.cnblogs.com/pengyusong/p/6155724.html
Copyright © 2011-2022 走看看