配置:
<bean class = "java.lang.String">
<qualifier value = "db_name"/>
<constructor-arg value = "db_name_using_bean_with_qualifier"/>
</bean>
<bean id = "any_project" class="ru.miron.Annotations.Database"/>
类Database:
public class Database {
@Autowired(required = true) // true on_default
@Qualifier("db_name") // name of bean to search
private String name;
...
public void print() {
System.out.println("db name: " + name);
}
}
可执行代码:
Database dbFromConfigUsingQualifiers = context.getBean("any_project", Database.class);
dbFromConfigUsingQualifiers.print();
预期输出:
数据库名称:db_name_using_bean_with_qualifier
在实践中:
数据库名称:空
没有错误。这意味着它被qualifier'у bean. 但是它是如何发现一些bean重要的东西并null取而代之的——我永远不会知道
忘记“连接”注释。这是通过将以下行添加到
<bean сюда>:而在身体本身
bean: