Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';如果bean是在xml中定义的,而没有指定id,那么引用名称是什么?_Java_Spring - Fatal编程技术网

Java 什么';如果bean是在xml中定义的,而没有指定id,那么引用名称是什么?

Java 什么';如果bean是在xml中定义的,而没有指定id,那么引用名称是什么?,java,spring,Java,Spring,假设我有这样一个bean定义: <bean class="com.xxx.CustomerSecurityManager"/> private SecurityManager<?> securityManager = null; @Autowired public void setSecurityManager(SecurityManager<?> securityManager) { this.securityManager = securit

假设我有这样一个bean定义:

<bean class="com.xxx.CustomerSecurityManager"/>
 private SecurityManager<?> securityManager = null;

@Autowired
public void setSecurityManager(SecurityManager<?> securityManager) {
    this.securityManager = securityManager;
}
SecurityManager
是一个接口,
CustomerSecurityManager
实现它

我的问题是如何在上面的这个类中注入
SecurityManager
。据我所知,这里的
securityManager
指的是
CustomerSecurityManager


那么,在xml中定义的没有id的引用名是什么?它是否使用超类或接口作为其引用名称?

Spring检查是否有bean实现该接口。如果只找到一个,则分配给它。如果存在多个这样的bean,您需要在限定符中为我的案例指定名称,
CustomerSecurityManager
扩展
DefaultSecurityManager
并实现
SecurityManager
,那么应该分配
SecurityManager