zoukankan      html  css  js  c++  java
  • Spring Autowiring by AutoDetect

    In Spring, “Autowiring by AutoDetect“, means chooses “autowire by constructor” if default constructor (argument with any data type), otherwise uses “autowire by type“.
    See an example of Spring “auto wiring by autodetect”. Auto wiring the “kungfu” bean into “panda”, via constructor or type (base on the implementation of panda bean).

    	<bean id="panda" class="com.mkyong.common.Panda" autowire="autodetect" />
    		
    	<bean id="kungfu" class="com.mkyong.common.KungFu" >
    		<property name="name" value="Shao lin" />
    	</bean>
    

    1. AutoDetect – by Constructor

    If a default constructor is supplied, auto detect will chooses wire by constructor.

    package com.mkyong.common;
    
    public class Panda {
    	private KungFu kungfu;
    
    	public Panda(KungFu kungfu) {
    		System.out.println("autowiring by constructor");
    		this.kungfu = kungfu;
    	}
    
    	public KungFu getKungfu() {
    		return kungfu;
    	}
    
    	public void setKungfu(KungFu kungfu) {
    		System.out.println("autowiring by type");
    		this.kungfu = kungfu;
    	}
    
    	//...
    }
    

    Output

    autowiring by constructor
    Person [kungfu=Language [name=Shao lin]]
    

    2. AutoDetect – by Type

    If a default constructor is not found, auto detect will chooses wire by type.

    package com.mkyong.common;
    
    public class Panda {
    	private KungFu kungfu;
    
    	public KungFu getKungfu() {
    		return kungfu;
    	}
    
    	public void setKungfu(KungFu kungfu) {
    		System.out.println("autowiring by type");
    		this.kungfu = kungfu;
    	}
    
    	//...
    }
    

    Output

    autowiring by type
    Person [kungfu=Language [name=Shao lin]]
    
  • 相关阅读:
    二分查找
    bracketed-paste-magic:zle:41: not enough arguments for -U
    逗号表达式返回值
    requestAnimationFrame实现一帧的函数节流
    phaser常用API总结
    table表头固定问题
    接口防刷的方法
    雪碧图background-position的rem用法
    sphinx 增量索引与主索引使用测试
    msysgit ls 中文显示
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4750052.html
Copyright © 2011-2022 走看看