博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring的lookup-method标签
阅读量:6758 次
发布时间:2019-06-26

本文共 1714 字,大约阅读时间需要 5 分钟。

Spring的解析源码

public void parseLookupOverrideSubElements(Element beanEle, MethodOverrides overrides) {        NodeList nl = beanEle.getChildNodes();        for (int i = 0; i < nl.getLength(); i++) {            Node node = nl.item(i);            //仅当在Spring默认bean的子元素下且为        if (isCandidateElement(node) && nodeNameEquals(node, LOOKUP_METHOD_ELEMENT)) {                Element ele = (Element) node;                //获取要修饰的方法           String methodName = ele.getAttribute(NAME_ATTRIBUTE);                //获取配置返回的bean           String beanRef = ele.getAttribute(BEAN_ELEMENT);                LookupOverride override = new LookupOverride(methodName, beanRef);                override.setSource(extractSource(ele));                overrides.addOverride(override);            }        }    }

lookup-method的使用

lookup-method实现方式说明:

// 定义一个水果类public class Fruit {    public Fruit() {        System.out.println("I got Fruit");    }}// 苹果public class Apple extends Fruit {    public Apple() {        System.out.println("I got a fresh apple");    }}// 香蕉public class Bananer extends Fruit {    public Bananer () {        System.out.println("I got a  fresh bananer");    }}// 水果盘,可以拿到水果public abstract class FruitPlate{    // 抽象方法获取新鲜水果    protected abstract Fruit getFruit();}
public static void main(String[] args) { ApplicationContext app = new ClassPathXmlApplicationContext("classpath:resource/applicationContext.xml"); FruitPlate fp1= (FruitPlate)app.getBean("fruitPlate1"); FruitPlate fp2 = (FruitPlate)app.getBean("fruitPlate2"); fp1.getFruit(); fp2.getFruit();}测试结果:I got FruitI got a fresh appleI got FruitI got a fresh bananer

 

转载地址:http://lczeo.baihongyu.com/

你可能感兴趣的文章
Leetcode Word Break II
查看>>
java 8 in action
查看>>
计算机容量及计算分析
查看>>
javascript闭包
查看>>
腻子脚本polyfill
查看>>
IIS与ASP.NET中的线程池
查看>>
win8系统安装.net Framework3.5
查看>>
Shel脚本-初步入门之《04》
查看>>
Nginx入门之两种handler函数的挂载方式
查看>>
polygonZM---> poliygon
查看>>
LINQ to SQL:创建你的第一个程序
查看>>
K 班1-7,alpha,beta 作业成绩汇总
查看>>
select 的问题
查看>>
Fiddler如何添加ServerIP显示
查看>>
Android瀑布流优化,解决Recyclerview展示大批量图片时Item自动切换、闪烁、空白等问题...
查看>>
《c程序设计语言》读书笔记-5.4-指针实现strend
查看>>
Android 系统默认音量和最大音量
查看>>
MPlayer-ww 增加边看边剪切功能
查看>>
vim利器:vundle 管理器和NERDTree插件
查看>>
系统虚拟机
查看>>