我完全迷失在这个话题上。我在互联网上研究了Spring Autowiring,试图找出它的作用,我发现的一切主要是说“Spring Autowiring帮助你自动装配合作豆”,就是这样。如果有人能够从头向我解释什么是Spring Bean,什么是自动装配以及这两个如何与示例和这些示例的解释一起工作,我将不胜感激。不要只说“Spring Autowiring是自动装配两个bean”,因为我不明白这意味着什么。
我现在理解的是,如果有一个简单的类,我们可以说:
Public class Car(){
public int numberOfWheels;
}
我们将此类声明为Bean,我们可以创建此类对象的实例,而不必说“new”关键字。所以我们可以在bean中声明它并在java类之外插入这个“numberOfWheels”属性的值。我在这里可能是超级错误或使用非常糟糕的例子,因为我一直在努力学习Spring Framework,这对我来说非常困难,所以任何帮助都会非常感激。
答案 0 :(得分:0)
嗯,Spring是一个依赖注入框架,所以你应该开始学习这个。
依赖注意
这是一种技术,其中一个对象提供另一个对象的依赖关系。例如:类型A的对象a需要依赖于类型B的对象b。在代码示例中:
客户依赖于人:
public class Person {
private String name;
private String lastName;
}
public class Customer {
private Person person;
}
在这种情况下,任何Customer对象都将具有Person对象依赖性。
现在,在Spring作用域中,所有对象都被命名为bean,因此这是一个bean,它被注入到Spring Context中。
Spring提供了一个依赖注入机制,它很容易。对于我们的示例,您可以在类Person上放置以下一些注释:@ Component,@ Bean,@ Service,Spring将使用调用默认构造函数创建Person类型的对象。更确切地说,在Customer类中,您可以将@Autowired注释放在Person person属性之上。这个注释将告诉Spring搜索注入Spring Context的Person类型的特定bean,Spring使用Reflection(按名称搜索)将找到一个使用@Component,@创建的Person对象类型。 Bean,@ Service注释。之后,Spring会将找到的Person对象的引用传递给需要它的Customer对象。
答案 1 :(得分:0)
Spring Bean 是一个由Spring Framework自动实例化和维护的对象。它们通常以某种方式相互依赖,因此必须解决依赖关系。
自动装配是解决这些依赖关系的方法之一。您不必手动指定应该向类提供哪个具体依赖项,您只需选择Spring应如何自动找到正确的依赖项(通过匹配类的属性名称和所需bean的名称,实例)。
Spring的文档非常广泛,你可以在那里找到很多有用的信息。有关Spring Beans的更多信息,请阅读this,如果您想了解有关自动装配的更多信息,请尝试this。
答案 2 :(得分:-2)
基本上,Spring有一个bean池,这意味着Spring创建了java对象并将它们放入池中。每当您想要使用对象时,都可以使用 @Autowired 注释从池中获取对象。
Spring基本上使用Reflection来自己创建对象,而不是将对象从类传递给类。这就是Autowire的基本原则。
这个概念称为依赖注入。 Spring会随时注入组件,服务和存储库。