什么是“&”在Bean名称中意味着什么?

时间:2018-03-09 18:21:52

标签: spring spring-el

我正在查看Spring let urlString = "https://swift.mrgott.pro/blog.json" guard let url = URL(string: urlString) else { return } URLSession.shared.dataTask(with: url) { (data, response, error) in if error != nil { print(error!.localizedDescription) } guard let data = data else { return } // Implement JSON decoding and parsing do { let articlesData = try JSONDecoder().decode([OBJECT YOU WANT].self, from: data) } catch let jsonError { print(jsonError) } }.resume() 注释,如下所示:

Qualifier

我没见过“&”在这样的注释之前。它是什么,它做了什么?

2 个答案:

答案 0 :(得分:2)

想出来。在最新的春季文档中:

  

要访问工厂bean本身,应该使用bean名称   以(&)符号为前缀。

这意味着什么:

  • 如果我省略“&”,我会得到一个由the创建的bean的引用 工厂(Foo)。
  • 如果我使用“&”,我会得到实际的参考 工厂(FooFactoryBean)。

参考:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions

答案 1 :(得分:2)

如果bean是工厂bean(创建bean FooFactory implements FactoryBean的bean),则工厂实例bean名称为&foo,而bean名称为foo