Spring实战之实战之Qualifier注解用法示例注解用法示例
主要介绍了Spring实战之Qualifier注解用法,结合实例形式详细分析了spring Qualifier注解相关配置、定义与使用
方法,需要的朋友可以参考下
本文实例讲述了Spring实战之Qualifier注解用法。分享给大家供大家参考,具体如下:
一一 配置配置
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="org.crazyit.app.service"/>
</beans>
二二 接口接口
Axe
package org.crazyit.app.service;
public interface Axe
{
public String chop();
}
Person
package org.crazyit.app.service;
public interface Person
{
public void useAxe();
}
三三 Bean
Chinese
package org.crazyit.app.service.impl;
import org.springframework.stereotype.*;
import org.springframework.beans.factory.annotation.*;
import org.crazyit.app.service.*;
@Component
public class Chinese implements Person
{
@Autowired
@Qualifier("steelAxe")
private Axe axe;
// // axe的setter方法
// @Autowired
// public void setAxe(@Qualifier("stoneAxe") Axe axe)
// {
// this.axe = axe;
// }
// 实现Person接口的useAxe()方法
public void useAxe()
{
// 调用axe的chop()方法,
// 表明Person对象依赖于axe对象
System.out.println(axe.chop());
}
}
SteelAxe
package org.crazyit.app.service.impl;
import org.springframework.stereotype.*;
import org.crazyit.app.service.*;
@Component