zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Java的栈和队列
    Spring @Scheduled 在tomcat容器里面执行两次
    Java calendar获取月份注意事项
    mysql 查询今天,昨天,上个月sql语句 注解
    MySQL 查询最近几天的记录 最近7天的记录 本周内的记录
    关于mybatis 注解sql sum(参数)传参写法
    tomcat 部署war项目
    maven项目生成war包
    Cron表达式
    ### 获取当前日期的函数
  • 原文地址:https://www.cnblogs.com/hjy9420/p/5012563.html
Copyright © 2011-2022 走看看