Spring Framework Autowired& Beans示例和解释

时间:2018-03-19 13:44:11

标签: java spring

我完全迷失在这个话题上。我在互联网上研究了Spring Autowiring,试图找出它的作用,我发现的一切主要是说“Spring Autowiring帮助你自动装配合作豆”,就是这样。如果有人能够从头向我解释什么是Spring Bean,什么是自动装配以及这两个如何与示例和这些示例的解释一起工作,我将不胜感激。不要只说“Spring Autowiring是自动装配两个bean”,因为我不明白这意味着什么。

我现在理解的是,如果有一个简单的类,我们可以说:

Public class Car(){
  public int numberOfWheels;
}

我们将此类声明为Bean,我们可以创建此类对象的实例,而不必说“new”关键字。所以我们可以在bean中声明它并在java类之外插入这个“numberOfWheels”属性的值。我在这里可能是超级错误或使用非常糟糕的例子,因为我一直在努力学习Spring Framework,这对我来说非常困难,所以任何帮助都会非常感激。

3 个答案:

答案 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会随时注入组件,服务和存储库。