• spring Bean的三种注入方式


    1、构造函数注入:

    构造函数的注入方式分为很多种

    (1)普通构造函数,空参数的构造函数

    <bean id="exampleBean" class="examples.ExampleBean"/>  

    (2)根据构造函数的参数顺序和个数

    package com.my.bean;
    
    public class Foo {
    
      public Foo(Bar bar, Baz baz) {
          // ...
      }
    }
    <beans>
      <bean id="foo" class="com.my.bean.Foo">
          <constructor-arg ref="bar"/>
          <constructor-arg ref="baz"/>
      </bean>
    
      <bean id="bar" class="com.my.bean.Bar"/>
      <bean id="baz" class="com.my.bean.Baz"/>
    
    </beans>

    (3)根据构造函数的参数类型匹配

    <bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg type="int" value="7500000"/>
    <constructor-arg type="java.lang.String" value="42"/>
    <constructor-arg type="java.lang.Boolean" value="false"/>
    </bean>

    (4)根据构造函数的参数索引顺序和个数

    <bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg index="0" value="3000"/>
    <constructor-arg index="1" value="42"/>
    </bean>

    (5)spring3以上还可以通过参数名称进行注入

    <bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg name="age" value="25"/>
    <constructor-arg name="name" value="jerry"/>
    </bean>

    2、静态工厂方法注入

    <bean id="clientService"
          class="examples.ClientService"
          factory-method="getInstance"/>
    public class ClientService {
    
      public static ClientService getInstance() {
        return new clientService();
      }
    }

    3、实例化的工厂方法注入

    public class MyServiceFactory {
        
        public MyServiceBean createMyServiceBean(){
             
            return new MyServiceBean();
        }
    }
    <bean id="myServiceFactory" class="com.my.bean.MyServiceFactory"></bean>
    
    <bean id="personService" factory-bean="myServiceFactory" factory-method="createMyServiceBean"></bean>
  • 相关阅读:
    正则只能输入数字小数点后保留4位
    redis基础之安装和配置
    IDEA 2017下载及注册码
    springcloud zuul 使用zuulfilter 修改请求路径和响应头
    JPA 多表分页查询
    springboot整合JPA创建数据库表失败
    springboot整合fastjson 将null转成空字符串
    Go 结构体和map等数据结构转json字符串
    go项目找不到包问题
    设计模式--策略模式
  • 原文地址:https://www.cnblogs.com/hjy9420/p/5012563.html
Copyright © 2020-2023  润新知